我在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 ...中的单个程序中使用多个文件。
感谢提前
答案 0 :(得分:3)
“多个文件”的技术术语是 translation units :
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
),并希望减少构建时间。
答案 1 :(得分:2)
最简单的方法是在gcc
:
gcc file1.c file2.c
答案 2 :(得分:2)
要进行预处理和编译:
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
可能被命名为{{ 1}},取决于读者的平台。
您可能会感兴趣的是,根据您使用的shell,您可能需要将FILE1.o
等选项写为-o
。