Linux软件开发
郑灵翔
******@xmu.
Linux程序开发
GCC的使用
Makefile的编写
自动生成Makefile
GDB的使用
编译简单程序
#include <>
int main()
{
printf(“Hello, Linux!\n”);
return 0;
}
编译简单程序
gcc
./
Hello Linux!
GCC选项
-c
编译或者汇编源文件,但不进行链接。输出由源文件生成的对象文件,扩展名默认为“.o”。
-o file
把输出送到文件file。无论输出的内容是可执行文件、对象文件、汇编文件还是预处理的代码,这个选项都是有效的。但由于这个选项只能产生一个文件,所以在编译多个源文件的时候,除非用这个选项生成最后的可执行文件,否则是没有什么意义的。
GNU make
GNU make是一个软件编译自动化管理工具
允许将一个软件项目的代码分开放在多个源文件里
在改动源码中一个文件的时候,可以只对该文件重新进行编译
Makefile
Makefile被用来告诉make编译哪些文件、怎样编译和何时编译。
target: prereq1 prereq2 prereq3 ……
commands
一个简单的例子
# Sample Makefile
myprog:
gcc -o hello
:
gcc -c
clean:
rm -f myprog $(OBJS)
Makefile的常用自动变量
$@ 规则中的目标名字
$< 依赖文件中的第一个
$^ 所有的依赖文件,重复出现的名字只保留一个
$? 依赖文件中所有比目标新的
$+ 所有的依赖文件,保持重复出现的名字不变
一个简单的例子
# Sample Makefile
OBJS =
myprog: $(OBJS)
$(CC) $(OBJS) -o $@
:
$(CC) -c $<
clean:
rm -f myprog $(OBJS)
Linux软件开发 来自淘豆网m.daumloan.com转载请标明出处.