靜態(tài)庫編寫:
編寫.o文件gcc -c(小寫) seqlist.c(需要和頭文件、main.c文件在同一文件目錄下)
libs.a->去掉lib與.a剩下的為庫的名稱‘s’。
-ls是指庫名為s。
-L庫的路徑。
makefile文件編寫:
CFLAGS=-Wall -O2 -g -I ./inc/
LDFLAGS=-L./lib/ -llist
APP=app
SRC=$(wildcard ./src/*.c)
OBJ=$(patsubst %.c, %.o, $(SRC))
CC=gcc
$(APP):$(OBJ)
$(CC) -o $(APP) $^ $(LDFLAGS)
clean:
rm -f $(OBJ) $(APP)
這個是編譯后的文件,app文件為編譯后的二進制文件。?
?
?
makefile與shell腳本關系
shell?腳本和 makefile?是兩種完全不同的工具,但它們經常在 UNIX 和 Linux 系統(tǒng)中一起使用,尤其是在軟件構建和自動化工具鏈中。讓我們分別看看它們,然后探討它們之間的關系。
1. Shell 腳本:
? ?- Shell 腳本是一種用于自動化操作的腳本語言,它可以在 Unix 或 Linux shell 中運行。
? ?- 它通常用于執(zhí)行日常的文件和目錄操作,處理文本,以及進行系統(tǒng)管理任務。
? ?- Shell 腳本可以直接在命令行上運行,或保存為.sh文件并以腳本方式執(zhí)行。
2. Makefile:
? ?-makefile是 make?工具使用的文件,它描述了如何從源代碼構建目標(通常是可執(zhí)行程序或庫)。
? ?- 它包含了一組規(guī)則,這些規(guī)則定義了目標文件、依賴項以及將依賴項轉換為目標的指令。
? ?- 指令通常是 shell 命令,因此 makefile 會頻繁地使用 shell 腳本。
? ?- `make` 工具會檢查文件的時間戳來確定哪些文件需要更新,從而只構建那些實際需要更新的部分,而不是從頭開始構建整個項目。
關系:
? ?- 在 makefile?中,你會經??吹?shell 命令。這是因為 make?使用 shell 命令來執(zhí)行構建任務。
? ?- `make` 可以執(zhí)行任何可在 shell 中運行的命令,包括調用 shell 腳本。
? ?- 通常,較小的任務(如編譯單個文件)直接在 makefile 中使用 shell 命令完成,而更復雜的任務(如部署應用程序)可能會調用單獨的 shell 腳本來完成。
? ?- 簡而言之,makefile 通常調用 shell 命令(或其他工具,如編譯器)來完成其工作。因此,shell 腳本和 makefile 經常在構建和部署過程中一起使用。文章來源:http://www.zghlxwxcb.cn/news/detail-664112.html
????????在實際開發(fā)中,尤其是在大型項目中,使用 make?和 makefile?可以極大地簡化構建過程,而 shell 腳本則為自動化提供了額外的靈活性和功能。文章來源地址http://www.zghlxwxcb.cn/news/detail-664112.html
到了這里,關于C語言,Linux,靜態(tài)庫編寫方法,makefile與shell腳本的關系。的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!