1、编译
预处理:生成中间件,后缀为.i
gcc -E main.c -o main.i
编译:生成汇编语言文件,后缀.s
gcc -S main.i -o main.s
汇编:生成二进制代码.o
gcc -c main.s -o main.o
链接:生成可执行文件
gcc hello.o -o hello
编译:
gcc main.c -o main
2、一个简单的范例
main.c:
#include <stdio.h>
#include "test.h"
int main()
{
printf("Hello,World!\n");
test();
return 0;
}
test.c:
#include "test.h"
#include <stdio.h>
void test()
{
printf("Now is in test.c\n");
}
test.h:
void test();
makefile:
#定义字符串object
objects= test.o main.o
main : $(objects)
cc -o main $(objects)
#链接依赖
main.o : test.h
test.o: test.h
#清理有更改的文件
.PHONY :clean
clean:
rm main $(objects)