写好的程序用不同版本的gcc编译,结果竟然不一样

发布于 2022-10-03 00:17:39 字数 123 浏览 22 评论 0

我用gcc 2可以编译成功的代码,用gcc 3.3就会出现“undefine  妇function。。。”的问题,怎么回事啊,是不是linux就是这种样子,
那在某个版本开发的驱动,到另一个版本就不能用了!确实费尽

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

彩虹直至黑白 2022-10-10 00:17:39

可能新编译器检查得比较严格,不规范的语法不让你过也可能。。。

小帐篷 2022-10-10 00:17:39

c/C++本身的语法就一直在变化。所以编译器有相应的变化也是正常的。可能是你的语法在新的C/C++标准里不再是合法的了。

佞臣 2022-10-10 00:17:39

原帖由 sakulagi 于 2005-12-11 21:34 发表
c/C++本身的语法就一直在变化。所以编译器有相应的变化也是正常的。可能是你的语法在新的C/C++标准里不再是合法的了。

这个……
不敢苟同。

我认为,应该还是楼主的程序有问题。
C 的语法已经不变化好多年了……

今天小雨转甜 2022-10-10 00:17:39

1、GCC 对 C++ 的兼容程度一直在提高,以前不报错的非法代码可能会被新编译器认为错误
2、检查编译参数的不同,包括警告、-std / -ansi 和优化级别的不同
3、检查是否存在库的不兼容问题

萌︼了一个春 2022-10-10 00:17:39

原帖由 思平 于 2005-12-12 10:26 发表

这个……
不敢苟同。

我认为,应该还是楼主的程序有问题。
C 的语法已经不变化好多年了……

好像最新的是c99,确实是好几年没有变了。还是编译器对标准的兼容程度一直在变化。这样说科学一些。呵呵

不甘平庸 2022-10-10 00:17:39

个人觉得,编译器的问题,和语法没什么关系!
但是没有办法!什么都要用实践去说话的!

萝莉病 2022-10-10 00:17:39

为什么会和语法没有关系呢?看GCC3.2.3的RELEASE NOTES,很多关于语法的变化

顾北清歌寒 2022-10-10 00:17:39

可能是头文件里面有些什么宏要看编译器版本,以至于会说函数未定义。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文