閱讀722 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Makefile模板之 sub.c main.c

arm-linux-objcopy被用來複製一個目標文件的內容到另一個文件中,可以使用不同於源文件的格式來輸出目的文件,即可以進行格式轉換。用來將ELF格式的可執行文件轉換為二進製文件。

arm-linux-objdump用於顯示二進製文件信息,常用來查看反匯編代碼。

src := $(shell ls *.c)
objs := $(patsubst %.c, %.o, $(src))


target: $(objs)
	gcc -o $@ $^
%.o:%.c
	gcc -c -o $@ $<
clean:
	rm -rf target *.o

_________________________________________________________________________________________

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 

最後更新:2017-04-03 14:53:43

  上一篇:go 怎麼做醫藥策劃
  下一篇:go 安裝ttf格式字體