免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 7854 | 回复: 39
打印 上一主题 下一主题

[C] 关于C和C++跨平台的疑问 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-18 16:21 |只看该作者 |倒序浏览
新手的疑问,

    有没有什么方法写好C或C++源代码后,不用修改,只换相应的编译器,就可以在win和lin下获得相应的可执行文件?

    只是想了解一下C和C++跨平台的特性,牛人们轻点砸!
    Thanks!!!

论坛徽章:
0
2 [报告]
发表于 2008-08-18 16:43 |只看该作者
。。。。

[ 本帖最后由 kimi.cai 于 2008-8-18 09:52 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-08-18 16:49 |只看该作者
很难直接做到跨平台。。。

除非自己加编译选项
#ifdefine WIN
{win下的代码}
#endif

#ifdefine LINUX
{linux下的代码}
#endif
这样写两段代码可以做到跨平台

论坛徽章:
0
4 [报告]
发表于 2008-08-18 17:03 |只看该作者
直接做到跨平台。。。还是不行,如果实在想,去学JAVA

论坛徽章:
0
5 [报告]
发表于 2008-08-18 17:09 |只看该作者
原帖由 qliu00 于 2008-8-18 17:03 发表
直接做到跨平台。。。还是不行,如果实在想,去学JAVA



如果只用c标准库的话,自然是跨平台。不过实用的程序不太可能不用到别系统的api。

现在跨平台的语言很多,python、perl之类的都是,不见得非得ava。

论坛徽章:
0
6 [报告]
发表于 2008-08-18 17:20 |只看该作者
原帖由 lgfang 于 2008-8-18 17:09 发表



如果只用c标准库的话,自然是跨平台。不过实用的程序不太可能不用到别系统的api。

现在跨平台的语言很多,python、perl之类的都是,不见得非得ava。

就算是C标准库,也有两个问题要解决1:
WIN下的C 动态连接库对于windows来说是通过动态库的实现,对于Unix平台来讲,主要是make文件的制作
2:输入输出,在WINDOS上,编译器认为结构成员长lf是字节的高位,而int是字节的低位;但MAC上正好相反了;int是字节的低位,lf是字节的低位。

论坛徽章:
0
7 [报告]
发表于 2008-08-18 17:31 |只看该作者
要想跨平台,首先要了解平台的差异性

论坛徽章:
0
8 [报告]
发表于 2008-08-18 17:35 |只看该作者
不大可能直接跨平台

论坛徽章:
0
9 [报告]
发表于 2008-08-18 18:45 |只看该作者
用GCC,
代码基本不变的。
连这个都不知道,别当地球人了。。。。。。。。。。。。

论坛徽章:
0
10 [报告]
发表于 2008-08-18 19:40 |只看该作者
google ACE, GTK+, OpenGL...

[ 本帖最后由 antigloss 于 2008-8-18 19:52 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP