在C語言中,多個源文件之間的調用通常是通過函數聲明和函數定義實現的。具體而言,如果一個源文件中定義了一個函數,而另一個源文件想要調用這個函數,那么需要在調用函數的源文件中包含該函數的聲明或者頭文件。這樣編譯器在編譯的時候就能識別函數的定義和調用。
以下是一個簡單的例子:
源文件1: file1.c
#include <stdio.h>
// 定義一個函數
void printMessage() {
printf("Hello, World!\n");
}
源文件2: file2.c
// 包含函數聲明
void printMessage();
int main() {
// 調用函數
printMessage();
return 0;
}
在這個例子中,file2.c中包含了printMessage函數的聲明,這樣編譯器就知道printMessage函數的存在。當編譯file2.c時,編譯器會鏈接file1.c中定義的printMessage函數,并成功編譯整個程序。