gcc

gcc -E helloworld.c (预处理)

        预处理主要是对#include #define #if等做处理

        对include进行展开,

        对define进行替换

        对于if 不成立的语句去掉

        生成.i文件

gcc -S helloworld.c(生成汇编程序)

 

生成.s文件

 

gcc -C helloworld.c (编译应用模块)

       

        主要是对源文件(.c)进行语法检查和编译生成.o文件

        .o文件并不是可执行文件,要变为可执行文件可能还依赖其他的.o文件或者是库文件或者是标准库文件

 

生成.o 文件(二进制文件)

 

gcc -o  app  a.c  b.c  d.c(连接生成可只想程序)[单独使用-o选项,没有和-c 或者是-s选项一起使用]

        gcc -c hello.c 生成的二进制文件默认为hello.o

        如果不想叫这个名字,比如想叫helloworld.o

        gcc -c hello.c -o helloworld.o

        上面的-o 选项并不是一个连接作用的选项。而起到了重命名的作用。

         而且可以指定生成的二进制文件的位置比如 /src/hello.o

        -o的重命名的作用不仅可以用在-c中,也可以用在-s中。

 

gcc -I 指明所使用的头文件所在的位置。

 

 

http://www.akae.cn/study/gcc.html

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值