gcc的使用

在linux下的开发中,做为新手通常我们会使用gcc来编译一些代码,下面就介绍一下gcc的使用:

在使用GCC的编译程序时,可以分为四个阶段:

1.预编译:预编译就是把文件中的头文件加载到代码中,最终形成一个.i的文件,如:gcc -E main.c -o main.i 

2.编译:这个步骤就是把预编译文件编译为.o的静态库文件,如:gcc -c main.i -o main.o

3.汇编:这个步骤是把.o的静态库文件编译为汇编文件.s,如:gcc -S main.c ,这一步可以看到产生了一个.s的汇编文件

4.链接:这个步骤是把.s的汇编文件编译为可执行文件,如:gcc main.s -o main

总体就分为这四个阶段,当然在编译中,我们可以一步执行:gcc main.c -o main

下面来补充一下几种文件类型:

.c :C文件

.o:目标文件

.i :预编译文件

.s:汇编文件

.so:动态库文件

.h .hpp :头文件

.cc .cpp : C++文件

下面补充几种编译命令:

-o 输出文件

-g 产生调试信息

-w 关闭所有警告

-c 只编译不链接

-E 预编译

-S 产生汇编文件

-D 在命令行定义宏

-x 指定编译的步骤

下面补充一个知识点:-D的用法

如图:

可以在代码中嵌入一个宏,然后在编译的时候声明。

最后一个补充点:restrict的介绍

如图:


我们可以把a,b变量定义在寄存器中,提高代码的速度。


参考:http://blog.chinaunix.net/uid-26941022-id-3259550.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值