【编译器】G++相关编译命令

举报
小哈里 发表于 2022/05/11 00:54:31 2022/05/11
【摘要】 G++相关编译命令 下面以Test.cpp为例: 命令: g++ Test.cpp 功能:生成默认为a.exe的文件,这个过程包含了编译和链接。 -o命令是输出的意思,这样就输出了Test.exe。...

G++相关编译命令

下面以Test.cpp为例:

命令: g++ Test.cpp
功能:生成默认为a.exe的文件,这个过程包含了编译和链接。

-o命令是输出的意思,这样就输出了Test.exe。
你要输出Test.exe的话可以用:g++ -o Test.exe
 
  • 1
  • 2
  • 3
  • 4
  • 5

1.预处理,生成.i的文件[预处理器cpp]

命令:g++ -E Test.cpp > Test.i   
功能:这一步主要做了这些事情:宏的替换,还有注释的消除,还有找到相关的库文件。用编辑器打开Test.i会发现有很多很多代码,你只需要看最后部分就会发现,预处理做了宏的替换,还有注释的消除,可以理解为无关代码的清除。
  
 
  • 1
  • 2

2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
命令:g++ -S Test.cpp

功能:会生成Test.s文件,.s文件表示是汇编文件,用编辑器打开就都是汇编指令。
  
 
  • 1

3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]

命令:g++ -c Test.cpp 
功能:.o是GCC生成的目标文件,除非你是做编译器和连接器调试开发的,否则打开这种.o没有任何意义。二进制机器码一般人也读不了。
  
 
  • 1
  • 2

4.连接目标代码,生成可执行程序[链接器ld]

命令:g++ Test.o -L F:\vs2008\VC\include\iostream
功能:将.o文件与所需的库文件链接整合形成.exe文件,这就是可执行文件。-L 表示链接,这里我后面写的是绝对路径,相对各人电脑不同
  
 
  • 1
  • 2

参考文献
g++编译

文章来源: gwj1314.blog.csdn.net,作者:小哈里,版权归原作者所有,如需转载,请联系作者。

原文链接:gwj1314.blog.csdn.net/article/details/79718449

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。