簡體   English   中英

您如何稱呼2個.c文件之間的這種關系?

[英]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 (我想您將其稱為全局函數)。

作為一個側面說明,你應該為你沒有的聲明得到來自編譯編譯器警告callTheOtherFunctiontesta.c。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM