C学习笔记-gcc

GNU CC(通常称为GCC)是GNU项目的编译器,它能够编译C、C++语言编写的程序

gcc的优点

  • 使用gcc,程序员可以控制生成二进制执行文件中调试代码的数量和类型。

  • 和其他编译器一样,gcc也可以优化执行代码。

  • gcc是个交叉平台编译器,所以能够在当前CPU平台上为不同操作系统开发软件。

  • gcc对C和C++进行了一些扩展,有助于提高执行效率以及编译器进行代码优化。

  • gcc可以让跨平台编程更加容易,降低代码移植代价

gcc的大致流程

gcc

  • 预处理
gcc -o test.i -E test.c

gcc对源程序test.c进行预编译,预编译结果输出到test.i文件中

  • 汇编
gcc -o test.o -c test.i

gcc对源程序test.c进行编译,但不链接,编译输出到test.o文件中

  • 链接
gcc -o test test.o

gcc对源程序test.o进行链接,生成可执行程序test

gcc常用选项

参数作用
-o filename输出文件名,如果没指定filename,默认为a.out
-c只编译,不链接
-E预编译
-S汇编
-g包含调试信息
-I指定包含头文件路径
-D编译时定义指定的宏,相当于源代码中的#define宏定义
-L指定要链接库文件的路径
-l链接指定的库文件
-O优化编译后的代码
-w关闭所有告警信息
-Wall开启所有告警信息
-WerrorWarning当做错误处理
-static强制链接时链接静态库
-fPIC编译与位置无关的代码,主要用于编译共享库
-shared生成共享库so文件
-pedantic发现一些不符合 ANSI/ISO C标准的代码

转载于:https://www.cnblogs.com/cj5785/p/10664774.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值