时间:2021-05-22
Dev-C++同时编译多个C文件:
考察多源代码文件程序的编译及头文件的使用 :
如果程序的函数 分别放在不同的程序之中,那就必须是定义常量的#define指令对于每个文件都可用:
定义一个***.h文件,存储函数原型和常量定义
需一起编译的文件添加 #include "***.h"即可
编译步骤:
1.新建一个C空白工程
2.将需要一起编译的文件添加至上述新建工程中
3.编译运行即可,C++同理
C/C++多文件编译原理
在单文件的情况下(只有一个.h和.c/.cpp)我们只需编译该文件即可,例如:
$ gcc main.c -o main
但更多的情况下,一个工程需要分开为多个源文件,比如 main.c、a.c、b.c 等,那这种情况下是如何编译的呢?首先要在 main.c 中调用 a.c 中的方法,必须包含 a.h 头文件,有了头文件中的函数声明就确保了 main.c 的函数调用的正确性。好了,现在我们执行编译多文件命令:
$ gcc main.c a.c b.c -o main
整个编译结果是这样的:编译器先把源文件见 main.c a.c b.c 独立编译为 main.obj a.obj b.obj 目标文件,然后再把其中要用到的函数方法链接到 main.obj 来,最终打包成可执行文件 main,这就是分离编译和链接原理。
如何编译由多个c++源文件组成的项目
在我写数据结构作业的时候,由于自己写了一些需要使用的数据结构,所以源文件有如下几个:
Main.cpp, Stack.cpp, Stack.h, Queue.cpp, Queue.h
但是当我在IDE中编写好源文件,想要自己来编译的时候,我发现我不会处理多个源文件的情况,查找资料后有如下解决方法:
1.在同一语句中同时编译多个源文件
g++ -Wall -g Main.cpp Stack.cpp Queue.cpp -o StackOut
生成可执行文件StackOut
在g++编译器中,-Wall是允许发出GCC能够提供的所有有用的警告的参数,-g是告诉g++产生能被GUN调试器使用的调试信息以便调试你的程序。具体各个参数的用法在这里和这里有详细说明。
2.分别编译多个源文件
g++ -Wall -g -c Stack.cppg++ -Wall -g -c Queue.cppg++ -Wall -g -c Main.cppg++ -g Stack.o Queue.o Main.o -o StackOut在编译单个文件时,我试了一下,顺序是任意的。如果我修改了Stack.cpp,则:
g++ -Wall -g -c Stack.cpp
g++ -g Stack.o Queue.o Main.o -o StackOut
即可。
3.编写Makefile文件
CC = g++ CFLAGS = -Wall -g all: clean Stack.o Queue.o Main.o StackOut Stack.o : Stack.h ${CC} ${CFLAGS} -c Stack.cppQueue.o : Queue.h ${CC} ${CFLAGS} -c Queue.cpp Main.o : Stack.h Queue.h ${CC} ${CFLAGS} -c Main.cpp StackOut : Stack.o Queue.o Main.o ${CC} ${CFLAGS} Stack.o Queue.o Main.o -o StackOutclean: rm -rf *.o rm -rf StackOut到此这篇关于Dev-C++同时编译多个C或C++文件方法的文章就介绍到这了,更多相关编译多个C或C++文件内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
vc++和c++的区别是C++是一门语言,duVC++是一个编译工具,VC++使用的是C++语言,其他编译工具也可以集成C++语言,如DEV-C++。 C++
关于Dev-C++的安装以及基本使用方法觉得Dev-C++是一款小巧方便的编译器,就给那些刚刚学习编程的同学讲一下这个软件的安装和基本的编译以及一些使用的技巧。
7.第三个C程序首先请看下面这个小程序,试着自己编译运行一下。如果不懂怎么编译,请点击下面的超链接:编译器使用方法编译器Dev-C++下载&使用教程/*circ
Code::Blocks是一款免费开源的C/C++IDE,支持GCC、MSVC++等多种编译器,还可以导入Dev-C++的项目。Code::Blocks的优点是
C++程序的构成和书写形式1)一个C++程序可以由一个程序单位或多个程序单位构成。每一个程序单位作为一个文件。在程序编译时,编译系统分别对各个文件进行编译,因此