[英]How do you call this relation between 2 .c files?
我有點困惑,多年來我一直沒有做過C,現在我又重新開始了。 我不確定的一件事是兩個互相調用功能的文件的關系,例如:
testa.c :
int main (void)
{
callTheOtherFunction();
return 0;
}
和另一個文件
測試版
callTheOtherFunction(){
//do some stuff
}
現在我的“ makefile”看起來像
gcc -o test ./testa.c ./testb.c
這是什么意思? 就像兩個文件都已合並一樣, callTheOtherFunction
現在是callTheOtherFunction
一部分嗎? 還是與繼承有關? 是callTheOtherFunction
現在是全局函數,還是您將如何調用它?
我需要從中繪制一個UML圖,這就是為什么我需要這種情況下的表達式的原因。
源文件永遠不會“合並”。 發生的情況是,在編譯階段將生成兩個目標文件-每個源文件一個,然后在鏈接階段將兩個目標文件鏈接(也與某些隱式系統庫鏈接),生成可執行文件。
這兩個文件將由編譯器編譯為目標代碼,然后鏈接器將從目標文件生成單個可執行文件。 這是,正如你所說的, 像這兩個文件已經合並。
因為您沒有將其定義標記為static
所以可以從任何地方訪問callTheOtherFunction
(我想您將其稱為全局函數)。
作為一個側面說明,你應該為你沒有的聲明得到來自編譯編譯器警告callTheOtherFunction
在testa.c。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.