linux C语言开发 笔记

来源:互联网 发布:淘宝虚拟物品退款 编辑:程序博客网 时间:2024/06/06 17:49

vi相关知识可以参考另一篇Ubuntu应用里的内容。

编译器GCC编译流程:
预处理(pre-processing):.i

gcc -E -o hello.i hello.c //-E编译器在预处理结束后就停止,.i文件中将.h文件加入到.c中了

编译(compiling):主要检查代码规范性,是否有语法错误,以及确定代码实际要做的工作。

gcc -S -o hello.s hello.i //-S编译器在编译结束后就停止,.s为汇编程序

汇编(assembling)

gcc -c hello.s -o  hello.o //-c编译器在汇编结束后就停止,.s为汇编程序

链接(linking)

gcc hello.o -o hello //链接系统库函数,系统吧类似printf的函数实现放入名为lib.so.6中,默认gcc会搜索路径usr/lib/,也就是链接到lib.so.6中。

-Wall 打开所有类型语法警告,建议养成良好的习惯。

gcc使用函数库

-I  <dir>  添加头问价引用路径 大写的i-L <dir> 添加库文件的引用路径-l 使用链接库 -lm 即使用libm.so.5 省去了lib如果使用静态库 加上-static

make工程管理

  • target
  • dependency_file
  • command
target:dependency_file    command  #tab符号#最简单的例子hello.o:hello.c hello.h    gcc -c hello.c -o hello.o