GCC简明教程(3)

GCC深入一点

说明
简单,但清晰的GCC深入教程。

更多的GCC编译器选项

几个常用的gcc编译器选项:

$ g++ -Wall -g -o Hello Hello.cpp
  • -o: 指定输出可执行文件名。
  • -Wall: 打印所有的警告消息。
  • -g: 使用GDB调试器产生额外的符号debuggging信息。

独立编译和链接

上面的命令将源文件编译成目标文件,并在一个步骤中与其他对象文件(系统库)链接成可执行文件。您可以单独进行编译和链接两个步骤,如下:

// 仅编译用 -c 
> g++ -c -Wall -g Hello.cpp
// 将目标文件转化为可执行文件
> g++ -g -o Hello.exe Hello.o

对“-c”选项进行解释:
-c: 创建目标文件”Hello.o”。默认情况下,目标文件具有与源文件相同的名称,拓展名为”.o”。

注意链接输入文件是目标文件”.o”(而不是源文件)。GCC使用单独的链接程序(称为ld.exe)进行链接。

编译和链接多个源文件

目前为止,只是对一个源文件进行编译,下面进行多个源文件处理。
假设你的程序有两个源文件:file1.cpp,file2.cpp。你可以在一个命令中编译他们:

> g++ -o myprog.exe file1.cpp file2.cpp 

然而,我们通常将每个源文件分别编译成目标文件,并在之后的阶段将它们链接到一起。这样做的好处是:如果其中一个文件更改了,不需要重新编译其他未更改的文件。

> g++ -c file1.cpp
> g++ -c file2.cpp
> g++ -o myprog.exe file1.o file2.o

小结

  • 编译和链接一个,或者多个源文件
  • g++ -c 和 g++ -o独立进行编译和链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值