| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1256 人关注过本帖
标题:C语言的兼容问题
只看楼主 加入收藏
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
结帖率:97.78%
收藏
 问题点数:0 回复次数:5 
C语言的兼容问题
首先感谢rootkit给我推荐的书<C Primer Plus>.
我打算重头看起.但是但到第一章的前面,说不同的编译系统在启动代码上不一样.
我就想问问,我知道了可执行文件不可能有每个系统都兼容的,但是我想问问,无论什么目标文件,拿到任意系统经过连接后是不是能够全部通用?
就是说我有一个目标文件,我可以不修改这个目标文件,直接在别的系统上经连接后就可以执行了?而可执行文件只能在哪个系统上编译就在哪个系统上执行?

不懂,特此提问.
搜索更多相关主题的帖子: C语言 
2008-12-13 19:09
rootkit
Rank: 1
等 级:新手上路
帖 子:197
专家分:5
注 册:2008-9-26
收藏
得分:0 
你说的应该属于可移植性问题,叫兼容也可以。

C语言标准保证了C语言在源代码级别的可移植性,只要你写的C程序遵守C语言标准,在所有支持改标准的编译器上都可以编译动过,这就是源代码级可移植。现在的编译器都支持C89标准了,较新的可以部分支持最新的C99标准。VC发展到8.0后对C99支持不错,gcc是目前对C99特性支持最完美的编译器。推荐给你的《C primer plus》的第五版是基于最新的C99标准的。

C标准的作用是保证源代码级别可移植,目标文件的可移植没有统一的标准,但是COFF比较流行。对于程序员来说我们只需要熟悉C标准以提高程序的可移植性就可以了,目标文件的可移植性是编译器的开发者关心的,这里是COFF的资料:
http://baike.baidu.com/view/1240794.htm

降妖除魔路,仗剑载酒行
借问谁家子,大唐游侠儿
2008-12-13 19:33
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
哦,知道了,谢谢
C99和C89有什么大的区别吗?
我用习惯了C89不太想学C99
请问你有关于C89的书籍名称吗?
谢谢

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-12-13 20:51
rootkit
Rank: 1
等 级:新手上路
帖 子:197
专家分:5
注 册:2008-9-26
收藏
得分:0 
C89和C99的区别并不大,尤其对于初学者来说,等你学到一定的深度才会关注二者之间的区别。一本好的教材应该告诉你哪些特性是C99新加入的,庆幸的是《C primer plus》就是这样的好教材。
从K&R C到C89,再到C99,C标准逐步将C语言规范化,每一次的标准更新都会修补前一个标准的错误并且加入新特性,新标准有点像打补丁。

C89与C99的比较
http://www.

Are you Ready For C99?
http://www.

Incompatibilities Between ISO C and ISO C++
http://david.

降妖除魔路,仗剑载酒行
借问谁家子,大唐游侠儿
2008-12-13 21:33
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
哦,谢谢.

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-12-13 21:52
隨心所欲
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-12-13
收藏
得分:0 
又长见识了
2008-12-13 22:42
快速回复:C语言的兼容问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017205 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved