0

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

#FILE1
void f1()
{
   printf("this is another file under same program");
}

#FILE2

int main()
{
   f1();
   return 0;
}

实际上我需要这个来测试静态的外部类说明符如何与多个文件一起使用。所以现在只有我必须学习如何在 C 中的单个程序中处理多个文件。

谢谢提前

4

3 回答 3

3

“多个文件”的技术术语是翻译单元

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   

但这通常是没有意义的,除非你有一个更大的项目(例如 with make)并且想要减少构建时间。

于 2012-06-22T11:34:51.530 回答
2

要这样预处理和编译:

gcc -c FILE1.c
gcc -c FILE2.c

然后,链接:

gcc -o EXECUTABLE FILE1.obj FILE2.obj

或者,您可以一步完成这两项工作:

gcc -o EXECUTABLE FILE1.c FILE2.c

如果它是 C++ 程序,则替换gccbyg++.cby .cpp

它对您不感兴趣,但为了以后发现您的问题的类似读者的利益,FILE1.cpp可能会被命名FILE1.cc或类似,并且FILE1.obj可能会被命名FILE1.o,具体取决于读者的平台。

您可能会感兴趣,根据您使用的 shell,您可能必须编写诸如-oas之类的选项/o

于 2012-06-22T11:37:14.290 回答
2

最简单的方法是在命令行中精确两个文件gcc

gcc file1.c file2.c
于 2012-06-22T11:31:21.463 回答