gcc依赖参数,编译相关知识点备忘
gcc依赖参数
1 gcc的使用参数分类
- 通用参数:C语言参数、C++参数、Object C、语言无关、警告、调试、优化
- 编译过程参数:预编译、汇编、链接
- 机器依赖参数:比如代码需要在哪个平台上运行(ARM之类)
2 gcc的编译过程
- (.c)源代码,宏展开 → 预编译文件(.i) 编译后 → 汇编文件(.s) 汇编后 → 目标文件,0101机器码(.o) 链接后 → 可执行文件
- 编译过程参数:
-c只编译不链接,生成目标文件.o | -S只编译不汇编,生成汇编代码 | -E只预编译| -g 包含调试信息| -o file 指定目标输出文件| -I【dir】 搜索头文件路径|
3 库选项
-static 静态编译 (gcc -static xx.c -o xx)
-shared 生成动态库文件,动态编译(gcc默认动态链接)
3.1 编译静态链接库
1.定义一个函数countlib.c (包含了一个函数a)
2.先生成目标文件countlib.o (gcc -c countlib.c)
3.ar crv countlib.a countlib.o (打包静态链接库,生成countlib.a)
4.定义一个count.c,调用函数a。
5.gcc -o count count.c -L./ countlib.a
6.运行可执行文件count,./count 2 5 屏