免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wangxinus
打印 上一主题 下一主题

[C++] 64位的操作系统编程一样吗 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-10-13 11:57 |只看该作者
如果64位系统能运行32位的程序的话,那么是怎么识别程序的字长呢?elf头里面有指示?

论坛徽章:
0
22 [报告]
发表于 2009-10-13 13:32 |只看该作者
坐等64位

论坛徽章:
0
23 [报告]
发表于 2009-10-13 13:55 |只看该作者
原帖由 c/unix 于 2009-10-9 23:39 发表


32位的可以在64位用,你确定?



他说的应该是可以编译成32位模式在64位系统上运行,  gcc的 -m32 -m64就用来干这活的

论坛徽章:
0
24 [报告]
发表于 2009-10-13 17:38 |只看该作者
原帖由 redor 于 2009-10-13 13:55 发表



他说的应该是可以编译成32位模式在64位系统上运行,  gcc的 -m32 -m64就用来干这活的



我这里有一个32上编译的库文件, 在64上用的时候,老是编译不过去,不知道用gcc的 -m32  能不能在64上编译过去!!

论坛徽章:
0
25 [报告]
发表于 2009-10-13 21:29 |只看该作者
应该不一样

论坛徽章:
0
26 [报告]
发表于 2009-10-13 21:53 |只看该作者
差不多,要是你从新创建一个项目的话。。
区别就是64位字长比32位的长了罢了,,要是说有区别的话,那也是原来的项目或者开发工具本身设计的不好。。。
我觉得gun系列开发工具应该和.net学习一下,,里面定义很多绝对的类型,比如int8 , int16 ,int32等等,然后根据平台把int映射到int32或者int64 ,吧所有与硬件有关的定义都设置成可变的,那就没问题。

论坛徽章:
0
27 [报告]
发表于 2009-10-13 22:45 |只看该作者
原帖由 nizvoo 于 2009-10-9 23:30 发表
64位编译的不能再32位上用,32位的可以在64位用

VS2008 无论在64位还32位环境下都能编译出可在64位或32位下运行的程序

论坛徽章:
0
28 [报告]
发表于 2009-10-14 07:08 |只看该作者
64位机子最大访内空间2^64,可受到64位操作系统的管理,而32位的最大访问空间为2^32,程序利用的空间就少,地址映射就不如64位的。

论坛徽章:
0
29 [报告]
发表于 2009-10-14 07:12 |只看该作者

回复 #1 wangxinus 的帖子

肯定不是一样的

论坛徽章:
0
30 [报告]
发表于 2009-10-14 15:53 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP