编译、链接及相应的g++命令

程序编译过程如下图(图引自https://blog.csdn.net/freestyle4568world/article/details/49817799)

编译、链接及相应的g++命令_第1张图片

1.预处理

主要动作:宏的替换,还有注释的消除,还有找到相关的库文件

命令:g++ -E Test.cpp > Test.i

只激活预处理,不生成文件,需要把它重定向到一个输出文件里 。

2.编译

主要动作:将预处理后的文件转换为汇编文件,里面为汇编指令

命令:g++ -S Test.cpp

会生成Test.s文件

3.汇编

主要动作:将汇编文件转换为目标文件

命令:g++ -c Test.cpp

生成.o文件,即目标文件

4.链接

主要动作:将目标文件和库文件整合为可执行文件

命令:g++ Test.o -L usr/include/iostream

-L后为库文件目录。

使用-o可以为可执行文件命名:

g++ Test.o -o Test -L usr/include/iostream

5.执行

./Test


所以通常在使用过程中,

g++ Test.cpp -o Test

./Test

两步就做完了上述工作。


g++常用命令:

-c 生成.o目标文件

-o可执行文件命名

-shared 指定生成动态链接库

-static 指定生成静态链接库

-L 要链接的库所在目录

-l 指定链接时需要的动态库,隐含命名规则,即在前加lib,在后加.a或.so确定库文件名

待补充

你可能感兴趣的:(C++)