Makefile模板之 sub.c main.c
[plain]
<span style="font-size:18px; font-family:Arial,Helvetica,sans-serif">________________________________________________________________________________________</span>
[plain]
src := $(shell ls *.c)
objs := $(patsubst %.c, %.o, $(src))
test: $(objs)
gcc -o $@ $^
%.o:%.c
gcc -c -o $@ $<
clean:
rm -rf test *.o
arm-linux-objcopy被用来复制一个目标文件的内容到另一个文件中,可以使用不同于源文件的格式来输出目的文件,即可以进行格式转换。用来将ELF格式的可执行文件转换为二进制文件。
arm-linux-objdump用于显示二进制文件信息,常用来查看反汇编代码。
_________________________________________________________________________________________
sub.c / sub.h /main.c三个文件:
gcc -c sub.c -o sub.o
gcc -c main.c -o main.o
gcc main.o sub.o -o test
./test
不想提供源码时,可以编译成静态库:
gcc -c sub.c -o sub.o
gcc -shared sub.o -o sub.a
gcc main.o -o test ./sub.a
———————————————————————————————————————————————————
汇编 gcc -S sub.c -o sub.s
预处理 gcc -E sub.c
补充:综合编程 , 其他综合 ,