人物介绍
故事简介
编写源文件 预编译 编译 汇编 链接
一、编写源文件
源代码:
二、预编译
预编译输入命令g++ -o HelloWorld.i -E HelloWorld.cpp
该命令表示编译环节的第一步,也就是预编译!当然,这一步也可以被称为“编译预处理”!而这个 HelloWorld.i 即是预编译过后的文件!
序号主要行为
值得注意:这一步不会做出任何安全性和合法性的检查!
三、编译
编译请输入命令g++ -o HelloWorld.s -S HelloWorld.i
该命令表示编译过程,也就是生成相应的汇编文件 HelloWorld.s 。
补充说明:其中语义分析又可以分为“静态语义分析”和“动态语义分析”两种。
四、汇编
汇编请输入命令:g++ -o HelloWorld.o -C HelloWorld.s
该命令表示对 HelloWorld.s 文件进行汇编处理,生成对应的可重定位的二进制文件 HelloWorld.o ,也就是我们所熟知的机器语言对应的文件。
五、链接
链接请输入命令:g++ HelloWorld.cpp -o HelloWorld.exe
通过调用链接器ld来链接程序运行需要的一大堆目标文件,以及所依赖的其它库文件,最后生成可执行文件., 链接的主要内容是把各个模块之间相互引用的部分处理好,使得各个模块之间能够正确地衔接。
需要指出:链接分为“静态链接”和“动态链接”。
学习C/C++可到Q零基础学习圈(一零五三二六一二二零)
需要补充:
额外说明:
相册
预编译后的文件HelloWorld.i
可以看到,代码量惊人的大!足足有两万多行!可想这个HelloWorld也不简单啊!
编译后的文件HelloWorld.s
很明显看出,此时代码精简了很多!
汇编后的文件HelloWorld.o
可以看出,记事本已经显示乱码了!
帮忙的朋友
文章就到这里了,谢谢阅读!希望你能重新认识编程哦~
领取专属 10元无门槛券
私享最新 技术干货