您的位置:首页 > 其它

如何使用gcc进行多阶编译

2006-09-05 13:31 375 查看
关于gcc的编译选项,不要老自己调用g++,他不能连接c++目标文件,gcc不是指C编译器,而是Compiler Collection.他自己会调用需要的编译器/连接器,as,g77,g++,gcj,ld等...

gcc可以做多阶编译 uh! pretty cool :-)
怎么做呢...

-x 选项指定gcc从哪个等级开始编译(参数是语言名称,参见man gcc),当然可以略,gcc自己根据扩展名会猜。
-c -E -S 指定编译停止于哪个等级。

-c 停止在连接阶段,输出.o但不调用ld
-S 停止在汇编阶段,输出.s(汇编语言源码)但不调用as
-E 停止在预处理完成阶段(完成所有#define,#if,#include替换),输出到标准输出(除非你指定-o选项)gcc不做更多的处理了。

是不是很酷,不用担心不会写AT&T汇编了,写一段C代码,用-S选项为你变魔术吧。

需要注意的是-o选项不是为你产生可执行二进制代码的关键选项,它只是为gcc的输出给出一个文件名而已。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐