1.如果有一个main.c文件,那么就可以使用下面命令直接链接
gcc -E main.c -o main.i &&
gcc -S main.i -o main.s &&
gcc -c main.s -o main.o &&
gcc main.o -o main
讲解:
1、由.c文件到.i文件,这个过程叫预处理。
2、由.i文件到.s文件,这个过程叫编译。
3、由.s文件到.o文件,这个过程叫汇编。
4、由.o文件到可执行文件,这个过程叫链接。
2.下面是makefile文件编写(在一个目录下存在三个文件,greeting.h和myapp.c和makefile文件)
greeting.h
myapp.c
makefile
至于为什么头文件不用加入到makefile里面的原因:它只包含函数声明和宏定义,没有任何实际的函数实现,在编译 .c文件
的过程中,编译器会在预处理阶段将 .h文件
中包含的函数声明插入到 .c文件
中,并在编译阶段对其中的函数调用进行编译。最终,这些代码会被链接到可执行文件中。