GCC编译器的基本常识

C程序以文件为单位进行编译
1、 编译器GCC:可多文件编译
2、 调试器GDB
3、 工程管理器——Make:多文件操作(灵活性高,效率高)
4、 脚本——Shell:程序可直接执行,不需编译(顺序结构)

源文件.c——>预处理.i——>编译.o(二进制)——>链接——>可执行.exe或.out(Linux环境下)[二进制]
注:gcc规定使用main函数,在硬件开发中使用Main函数

编程格式:
单目运算符前后用空格隔开,双目运算符不隔;
循环体语句按4个空格缩进;
文件命令用字母开头,不得用数字开头;
注释分为两种:1、//表示 2、/xxx/表示;
Int与return 0一起使用

gcc编译器的基本用法:

gcc [options] [filenames]
options:编译器所需要的编译选项
filenames:要编译的文件名

gcc [-Wall] [-O1…3] [-g] [-o name] file…
-Wall:打开所有警告项;
-O:设置优化级别,O0表示关闭优化功能;
-g:将调试信息编译到目标文件中;
-o name:指定输出文件的名称是name,否则默认为a.out;
-E:预处理;gcc -E hello.c(不生成任何输出文件)
-c:只编译,生成目标文件,不连接成可执行文件;gcc -c hello.c相当于gcc -c hello.c -o hello.o
-DPI=3.14159:宏定义PI=3.14159;
-UPI:取消宏定义PI
-Idirname:将dirname所指出的目录加入到程序头文件目录列表中;
-Ldirname:将dirname所指出的目录加入到库文件目录列表中;
-lname:链接名为libname.a;
例如:-lm表示连接名为“libm.a”的数学函数库
-static:静态链接库文件

静态库后缀名为.a
动态库后缀名为.so

静态库的创建:
vim 源文件.c
gcc -c 源文件.c
ar rcs 静态库名 目标文件1 目标文件2
注rc:静态库不存在,就创建该库文件
s:更新库文件
使用:gcc -o file file.c –L. -lname
ar -t libname.a 查看库
ar -d libname.a add.o 从库中删除add.o文件
ar -dv libname.a add.o 从库中删除add.o文件并提示删除信息
ar -xv libname.a add.o 从库中提取add.o文件(相当于复制)

动态库的创建:
gcc -shared -fPIC -o库名.so 源文件.c
使用:gcc 源文件.c ./库名.so –o 可执行文件名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值