g++使用笔记

本文详细介绍了从源代码到可执行程序的四个关键步骤:预处理、编译、汇编和链接。通过g++编译器的不同指令,分别展示了如何生成预处理后的.i文件、汇编后的.s文件、目标代码的.o文件以及最终的可执行.out文件。了解这一流程对于软件开发人员优化代码和调试至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从源代码到可执行程序的流程

1、预处理:处理一些预处理指令,例如#include等

2、编译:把高级语言转换为汇编语言

3、汇编:把汇编语言文件转换为二进制文件

4、链接:如果各个文件有依赖关系会考虑依赖关系建立各个文件之间的联系

g++常用指令

① g++ -E xxx.cpp 仅作预处理,不进行编译、汇编和链接,生成预处理之后的文件(.i)

执行该指令会直接在terminal中显示预处理过程,例如#include,只能看到部分预处理结果;这个只显示预处理,不生成文件;如果想查看详细的预处理,可以重定向到一个文件中,预处理之后的文件会生成在.i文件中

g++ -E main.cxx -o main.i

②g++ -s 编译到汇编语言文件,即只激活预处理和编译,生成汇编语言文件(.s)

g++ -s main.i -o main.s

③g++ -c 编译、汇编到目标代码,不进行链接,即生成目标文件(.o)

g++ -c main.s -o main.o

④g++ -o xxx 如果-o后面没有文件名字,那么会默认生成a.out,生成链接文件(.out)

g++ main.o  -o main

使用

如果不需要中间文件那么直接使用g++一步到位编译到可执行文件即可,具体格式为:g++ [主文件] [依赖文件] -o [输出可执行文件名字]

g++ main.cpp test1.cpp test2.cpp -o main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值