我是Code :: Blocks的新手。對於我的學習,我正在用C編寫幾個小程序(只是爲了嘗試一下)。 我試圖把它們全部放在一個項目中,因爲它們屬於同一個主題,但這不起作用,因爲它們每個都有一個主要功能。一個代碼中的多個小程序:: blocks項目
任何想法如何我可以將這些文件以某種方式放在一起,但不相互依賴?
我是Code :: Blocks的新手。對於我的學習,我正在用C編寫幾個小程序(只是爲了嘗試一下)。 我試圖把它們全部放在一個項目中,因爲它們屬於同一個主題,但這不起作用,因爲它們每個都有一個主要功能。一個代碼中的多個小程序:: blocks項目
任何想法如何我可以將這些文件以某種方式放在一起,但不相互依賴?
讓我們說,你的項目包含3個C文件和每個C的文件是一個獨立的程序,它包含了自己main
功能:
所以你CA n寫一個Makefile(它的名字在你的電腦裏應該是「Makfile」)。它將建立程序您單獨要
這是你的Makefile的樣子:
all: program1 program2 program3
%.o: %.c
$(CC) $(CFLAGS) -c -o [email protected] $^
program1: program1.o
$(CC) $(LDFLAGS) -o [email protected] $^
program2: program2.o
$(CC) $(LDFLAGS) -o [email protected] $^
program3: program3.o
$(CC) $(LDFLAGS) -o [email protected] $^
clean:
rm -f *.o program1 program2 program3
你可以建立每個程序separetly
例如
$ make program1
將建立上述的Makefile只有program1
或者你可以建立所有程序與
$make all
一個ç程序應該只包含一個主功能..把你的所有單獨的程序爲功能,並把它們放在一個C程序,你甚至可以把它放在多個文件和編譯他們..
您可以使用switch case
調用不同的功能..
從所有程序中刪除main function
並將它們轉換爲functions
..
呼叫他們在哪裏需要..這將幫助你..
在我看來,如果你開始建立一些不錯的實用功能。因此,請遵循raghu-srikanth-reddyce提供的建議,併爲每個小程序創建單獨的功能。不過我想補充一點,最好是創建一個簡單的C庫,讓它們隨時都可以鏈接到它們。大多數專業程序員都保留這樣的庫。
一個簡單的makefile將使您能夠建立一個可鏈接到的最終二進制文件。
您的編程祝你好運;)
不,我只是在做教授給的任務。我只想編譯一個文件,獨立於其他文件。 – mvuajua
假設你的源文件被稱爲
其中prog1.c的和prog2.c各自包含main()函數和mylib.c(與相應的頭文件mylib.h)包含一些應該鏈接到每個程序的庫函數。在你的Code :: Blocks項目中,你需要現在創建多個目標。從菜單中選擇「File/New/Build target ...」,並將它們命名爲「prog1」和「prog2」。現在將所有源文件添加到項目中(如果您還沒有這樣做)。
現在右鍵單擊prog1.c並從上下文菜單中選擇「屬性...」。在對話框中選擇「Build」選項卡,並確保在「屬於目標」下僅選中「prog1」。對prog2.c和目標「prog2」執行相同的操作。對於「mylib.c」,確保選中「prog1」和「prog2」。
現在,您可以輕鬆選擇構建要構建和運行的目標的UI。請注意,如果您添加另一個目標,請說「prog3」,那麼您必須再次訪問prog1.c和prog2.c的生成屬性,並取消選中「prog3」。
如果你想在一個文件中編譯,那麼你不需要工程文件。 只需製作一個新文件,然後將所有代碼寫入單個文件。也可以使用功能和程序如果你需要它。
你可以創建自己的make文件 – MOHAMED
對不起,對C來說是新手,你是什麼意思,以及如何做到這一點? – mvuajua