linux 下和windows下数据内存结构有区别么?

mengjj 2008-05-05 04:12:46

比如我能直接把一个windows下的int或其它类型的基本数据通过网络传递给linux使用么?
windows:
int a = 1234;
float f = 1234.555;
char str[100];
send(socket, (const char*)&a, sizeof(int), 0);
send(socket, (const char*)&f, sizeof(float), 0);
send(socket, str, 100, 0);

linux:
int a = 0;
float f = 0;
char str[100];
recv(socket, (char *)&a, sizeof(int), 0);
recv(socket, (char *)&f, sizeof(float), 0);
recv(socket, str, 100, 0);
...全文
197 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
blh 2008-05-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 mengjj 的帖子:]

比如我能直接把一个windows下的int或其它类型的基本数据通过网络传递给linux使用么?
windows:
int a = 1234;
float f = 1234.555;
char str[100];
send(socket, (const char*)&a, sizeof(int), 0);
send(socket, (const char*)&f, sizeof(float), 0);
send(socket, str, 100, 0);

linux:
int a = 0;
float f = 0;
char str[100];
recv(socket, (char *)&a, sizeof(int), 0);
recv(socket, (char *)&f, sizeof(f…
[/Quote]

只要你的CPU类型相同就没啥问题
sheenl 2008-05-07
  • 打赏
  • 举报
回复
大端小端是硬件的事情, 和操作系统有什么关系?
mldmillis 2008-05-07
  • 打赏
  • 举报
回复
同意ls的,在网络中传输,为了不同的系统的大端小端的问题,统一采用网络字节顺序(这个是标准的表示,具体是大是小记不清了,反正是大和小中的一种),系统接收后再根据自己的系统存储形式,转化为大端或小端

[Quote=引用 7 楼 Lunar_lty 的回复:]
Window-------NetWork-----------Linux

所以,windows和linux各自管好和network通讯的事情就行了,其他的不用管.
[/Quote]
夜雨_倚琴 2008-05-07
  • 打赏
  • 举报
回复
Window-------NetWork-----------Linux

所以,windows和linux各自管好和network通讯的事情就行了,其他的不用管.
sheenl 2008-05-06
  • 打赏
  • 举报
回复
网络世界中, 传送的都是比特流, 怎么解释比特流, 是你的程序的事情(客户端和服务端)
fishly_0 2008-05-06
  • 打赏
  • 举报
回复
字节序是不是要考虑下?windows是低位放在低地址,如果数据这样发出去了,其他os收到后,采用高位存放低地址的方式来解析数据,应该就会出错了。所以数据最好都统一成网络字节序吧.
mengjj 2008-05-05
  • 打赏
  • 举报
回复
发表于:2008-05-05 16:36:232楼 得分:0
这个问题听起来很象: linux能上网吗? 如果那个网站的服务器上装的是windows......
////////////////////////////////////////////////////////

这个和此问题有本质的区别好不好,http传输的是文本, 文本编码不管是ansi,unicode,utf-8...都是有通用的国际标准,所以不存在系统平台上的问题.

但没有要求说在linux下一个整数或浮点数的内存描述必须和windows下的一样吧?

因为自己要验证还需要安装linux,...太过麻烦,还请知道的人告诉一下了.
Treazy 2008-05-05
  • 打赏
  • 举报
回复
呵呵,当然可以

sheenl 2008-05-05
  • 打赏
  • 举报
回复
这个问题听起来很象: linux能上网吗? 如果那个网站的服务器上装的是windows......
taodm 2008-05-05
  • 打赏
  • 举报
回复
自己试一下不就知道了。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧