Linux下面C語言多檔案編譯

2021-06-26 21:17:36 字數 966 閱讀 9622

首先開啟命終端(alt+ctrl+t),用vim編寫三個檔案main.c, stack.c, stack.h

main.c

#include

#include"stack.h"

void main() 

stack.h

typedef struct stack stack;

extern void push(stack *stack, int elem);

extern void pop(stack *stack, int *elem);

stack.c

#include

#include"stack.h"

void push(stack *stack, int elem)

void pop(stack *stack, int *elem)

這三個檔案都在同一資料夾下面,這時可以使用命令:gcc main.c stack.c stack.h -o mian直接在命令列中編譯,但是為了學習使用makefile 就寫了乙個檔案用於編譯

makefile檔案:

main: main.o stack.o

gcc main.o stack.o -o main

main.o: main.c stack.h

gcc -c main.c

stack.o: stack.c stack.h

gcc -c stack.c

這樣直接在終端中執行make就可以進行編譯了... 

如果編譯的檔案不在同一資料夾下面,則在makefile檔案中寫明原始檔的路徑即可...

推薦閱讀

c++ 隱式類型別轉化 implicit class-type conversions 

c語言變長陣列之剖析 

c語言需要注意的問題 

c語言位域的使用及其注意點 

c語言中簡單的for迴圈和浮點型變數 

C語言 linux 下多檔案編譯

在linux下,用命令編譯 使用 gcc c file.c 命令會生成乙個相應的 file.o。編譯完所有的.c檔案之後,使用命令 gcc a.o b.o c.o o main 會在當前目錄下生成乙個linux可執行檔案 再使用 main 命令即可執行該c程式 以之前的簡單鍊錶為例 root izw...

C語言多檔案編譯

學習c語言的時候,有時候前面寫的函式希望以後可以直接呼叫,而不用重寫。記錄上午學習的成果,希望對有同樣需求的新手有幫助 要在乙個原始檔中呼叫另乙個源文中的函式,需要先把那個函式包含進來即使用 include。例如 現需要在show.c中呼叫display 函式,可以將 分開寫在三個檔案中,分別是sh...

Linux下C多檔案編譯Makefile

第一 makefile檔案編寫 1.第乙個字母大寫,其餘的都是小寫。2.makefile關係到了整個工程的編譯。3.可以執行作業系統的命令。4.其實makefile的本質是定義了檔案之間的依賴性問題。5.第乙個字母大寫,其餘的都是小寫。make命令執行時,需要乙個 makefile 檔案,以告訴ma...