Linux复习2

1. 编译格式:

 

 总之,-E生成.i文件;-S生成.s文件;-c生成.o文件(分别生成对应的.o);-o得到可执行文件(-o可以将多个.o文件链接生成一个可执行目标文件)

2. makefile

使用make,默认编译文件名为makefile的文件,若要指定其他,用-f;eg:make -f makefile1

3. makefile文件格式:

 4. 同名依赖项省略规则:

 对比makefile和makefile2:简言之,当依赖项基名与此步骤生成的目标基名相同时,不需要在依赖项写源文件,也不需要写指令

 5. makefile中变量使用:

声明:a=value;使用:$(a)

 

 6. 静态库与共享库生成

生成静态库命令ar:打包.o文件便于管理

libit.a为指定的生成库的名字,后面若干.o文件是要加入库的.o文件

 生成动态共享库:gcc -shared libname.so file1.o file2.o

7. 库的使用:

无论静态库还是共享库,都可以在gcc时用-lname的方式直接添加库(name为库名,不带lib字符和后缀)

用-Ldir可以添加搜索库的目录dir

eg: gcc interest.c -lit -L -lm

8. 在makefile中管理库文件

ar_name(file_name)访问库文件

 9. gdb调试使用:用gdb -g编译程序之后才能调试

 10. C编程其他函数:rand,time,malloc,free,open,close,write,lseek

原文地址:https://www.cnblogs.com/Kinghao0319/p/12128586.html