Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用GNU c+;中的多个源文件运行程序+;编译程序 我在Windows 7操作系统上使用DEV GNU C++编译器。我需要知道一个包含多个源文件的程序是如何编译的。 举个例子 #FILE1 void f1() { printf("this is another file under same program"); } #FILE2 int main() { f1(); return 0; }_C++_C_Compilation_Gnu - Fatal编程技术网

使用GNU c+;中的多个源文件运行程序+;编译程序 我在Windows 7操作系统上使用DEV GNU C++编译器。我需要知道一个包含多个源文件的程序是如何编译的。 举个例子 #FILE1 void f1() { printf("this is another file under same program"); } #FILE2 int main() { f1(); return 0; }

使用GNU c+;中的多个源文件运行程序+;编译程序 我在Windows 7操作系统上使用DEV GNU C++编译器。我需要知道一个包含多个源文件的程序是如何编译的。 举个例子 #FILE1 void f1() { printf("this is another file under same program"); } #FILE2 int main() { f1(); return 0; },c++,c,compilation,gnu,C++,C,Compilation,Gnu,实际上,我需要这个来测试静态外部类说明符如何处理多个文件。因此,现在只有我需要学习如何在C语言的单个程序中处理多个文件 感谢advance最简单的方法是精确计算gcc的命令行上的两个文件: gcc file1.c file2.c “多个文件”的技术术语是: g++ file1.cpp file2.cpp -o program 或者将编译和链接分开 g++ -c file1.cpp -o file1.o g++ -c file2.cpp -o file2.o # linking g++ fi

实际上,我需要这个来测试静态外部类说明符如何处理多个文件。因此,现在只有我需要学习如何在C语言的单个程序中处理多个文件


感谢advance

最简单的方法是精确计算
gcc的命令行上的两个文件:

gcc file1.c file2.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 -c FILE1.c
gcc -c FILE2.c
然后,链接:

gcc -o EXECUTABLE FILE1.obj FILE2.obj
或者,您可以在一个步骤中完成这两项工作:

gcc -o EXECUTABLE FILE1.c FILE2.c

如果是C++程序,则用<代码> G++< /COD>和<代码> > C <代码> >代码> > CPP < /C> > /P> 您对此不感兴趣,但为了方便以后找到您的问题的类似读者,

FILE1.cpp
可以命名为
FILE1.cc
或类似名称,
FILE1.obj
可以命名为
FILE1.o
,具体取决于读者的平台


您可能会感兴趣,这取决于您使用的shell,您可能需要将类似于
-o
的选项编写为
/o

请您解释一下我要做的事情。。。我在windows 7上。@alaminhosain如何编译单个cpp文件?启动命令提示符(
cmd.exe
),切换到包含这些文件的目录,然后键入上面的命令。@sehe用键盘ctrl+f9打开单个cpp文件我猜您需要创建一个项目(在IDE中)并构建它。将这两个文件添加到项目中。我不清楚您实际使用的是什么IDE。流血事件/DevC++?C++ Builder?Embarcadero?任何文件都不应该包含main()方法吗?@a\u nto2:不,您的整个项目只需要一个
main()
@Thomas:好的,您是对的!:)