[英]Why does the C++ compiler look in “c:\program files\gnu emacs\include” for include files?
[英]run a program with more than one source files in GNU c++ compiler
我在Windows 7 OS上使用DEV GNU c ++編譯器。 我需要知道如何編譯具有多個源文件的程序。 這是例子
#FILE1
void f1()
{
printf("this is another file under same program");
}
#FILE2
int main()
{
f1();
return 0;
}
實際上,我需要使用它來測試靜態外部類說明符如何與多個文件一起工作。 因此,現在我只需要學習在C.的單個程序中如何處理多個文件。
謝謝前進
“多個文件”的技術術語是翻譯單位 :
g++ file1.cpp file2.cpp -o program
或者您將編譯和鏈接分開
g++ -c file1.cpp -o file1.o
g++ -c file2.cpp -o file2.o
# linking
g++ file1.o file2.o -o program
但這通常是沒有意義的,除非您有一個更大的項目(例如,使用make
)並且想要減少構建時間。
最簡單的方法是在gcc
的命令行上精確調整兩個文件:
gcc file1.c file2.c
預處理和編譯:
gcc -c FILE1.c
gcc -c FILE2.c
然后,鏈接:
gcc -o EXECUTABLE FILE1.obj FILE2.obj
另外,您也可以一步一步完成這兩個步驟:
gcc -o EXECUTABLE FILE1.c FILE2.c
如果是C ++程序,則將gcc
替換為g++
,將.c
替換為.cpp
。
我不關心你,而且也為以后誰找你的問題類似的讀者的利益, FILE1.cpp
可能被命名為FILE1.cc
或等, FILE1.obj
可能被命名為FILE1.o
,根據讀者的平台上。
您可能會感興趣,根據所使用的Shell,可能必須將-o
選項寫為/o
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.