免费注册 查看新帖 |

Chinaunix

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

gcc不正常编译的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-12-28 14:11 |只看该作者
正好路过一片资料,不过我没有测试。

楼主自己研究一下好了

http://www.linuxmine.com/3721.html

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
12 [报告]
发表于 2006-12-28 14:21 |只看该作者
原则上用g++,不要用gcc
用gcc请链接c++标准库stdc++

论坛徽章:
0
13 [报告]
发表于 2006-12-28 14:31 |只看该作者
>> gcc 不是能根据源文件后缀自动调用g++么?

gcc 和 g++ 是两个不同的命令,不存在互相调用的问题。

这两个命令对于文件扩展名的处理也不同:gcc 会根据文件类型自动区分是 C 还是 C++ 程序,而 g++ 总是认为它编译的是一个 C++ 程序,和文件扩展名无关。

>> gcc不能自动连接c++库??

是的,gcc 不会自动连接 c++ 标准库。因为 gcc 可用于连接 C 程序,也可用于连接 C++ 程序,显然连接 C 程序没有必要连接 C++ 库。如果用 gcc 连接 C++ 程序,需要显式指定连接 C++ 标准库:-lstdc++。

>> C++的代码,必须用g++

编译和连接 C++ 程序用 gcc 和 g++ 皆可,只是在连接的时候用 g++ 较方便些。

>> 另外,同一个编译器,处理两种不同的代码,效率能高么?

注意:基本上,C 是 C++ 的一个子集。因此,对 C 的绝大部分的处理都可以直接应用在对 C++ 的处理中而不存在什么效率问题。

评分

参与人数 1可用积分 +4 收起 理由
langue + 4

查看全部评分

论坛徽章:
0
14 [报告]
发表于 2006-12-28 14:36 |只看该作者
回答够详细的。辛苦了

估计这个帖子应该没有什么问题了

论坛徽章:
0
15 [报告]
发表于 2006-12-28 19:07 |只看该作者
gcc 这个前端,确实会自动根据源文件后缀,以及用户指定的参数,来决定将要使用的预处理程序,以及编译用的后端(通常是 cc1,cc1plus 等等)。而编译以后、汇编之时,用到的应该是同一个后端:as。再在连接的时候就不一样了,gcc 不负责自动给后端程序 ld 提供 C++ 程序必要的函数库文件名。

调用 gcc 的前端程序的时候,建议加上 -v 参数来查看整个过程的具体步骤。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP