在GNU c ++编译器中运行一个包含多个源文件的程序

我在Windows 7操作系统上使用DEV GNU c ++编译器。 我需要知道如何编译具有多个源文件的程序。 这是例子,

#FILE1 void f1() { printf("this is another file under same program"); } #FILE2 int main() { f1(); return 0; } 

实际上我需要这个来测试static,extern类说明符如何与多个文件一起使用。 因此,现在只有我必须学习如何在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 ++程序,那么用g++替换gcc ,用.cpp替换.c

您不感兴趣,但为了以后找到您问题的类似读者的利益, FILE1.cpp可能被命名为FILE1.cc等,而FILE1.obj可能被命名为FILE1.o ,具体取决于读者的平台。

您可能会感兴趣的是,根据您使用的shell,您可能必须编写-o as /o类的选项。