dev c++ 多文件菜鸟起步1

您所在的位置:网站首页 dev添加文件夹 dev c++ 多文件菜鸟起步1

dev c++ 多文件菜鸟起步1

2023-12-19 02:38| 来源: 网络整理| 查看: 265

以下文章是吸收+原创。

参考blog:

https://blog.csdn.net/candcplusplus/article/details/53326368、https://blog.csdn.net/candcplusplus/article/details/7317472

作为菜鸟的我们,显然我们已经接触了如此多的C++的编程。但是,一到多个文件的时候就歇菜。什么.h、.cpp,到底该include什么,使用“”号来include还是用来include。

 

我们先从最简单的说起,从0开始多文件。

假设我们想定义func1、func2、func3在一个文件中,我们只要这样写即可。

#include void func1(){ printf("i am func1\n"); } void func2(){ printf("i am func1\n"); } void func3(){ printf("i am func1\n"); } int main() { func1(); func2(); func3(); return 0; }

 

现在我们现在要把三个函数放到.h文件中。

C++中,一般的规范是:

.h文件中声明函数(function decleration), .cpp中定义函数(function definition,或者说实现函数)。

上面的代码直接定义函数和声明函数在一块了,我们分开写的话是这样:

#include //先声明 void func1(); void func2(); void func3(); int main() { func1(); func2(); func3(); return 0; } //后定义(实现函数) void func1(){ printf("i am func1\n"); } void func2(){ printf("i am func1\n"); } void func3(){ printf("i am func1\n"); }

我们想要的结果,是直接#include "my.h"就能直接用func1、func2、func3函数,那么我们就把func123的声明放进my.h头文件中。直接新建文件,然后放进去就可以。

上面说了,只有头文件(.h)只放声明,具体的实现要用cpp文件。于是再新建一个cpp文件,里面放进去函数的定义。

这样你整个工程就有如下三个文件:

main.cpp,里面有main函数

my.h,里面有三个函数的声明

my.cpp,里面有三个函数的实现

 

到这里你要做的实际上就做完了。之所以还不能直接include,是因为编译要其他的配置文件,而那些文件是C++之外的。为了方便,我们直接使用dev,新建项目,沿着上面的思路新建文件。在编译的时候dev会自动帮我们生成其他配置的文件,帮我们给编译指令加参数。

tips:这里你可能问,为什么abc.h就能找到abc.cpp作为它的实现呢?就是因为各种配置文件和各种编译指令选项等等,所以我们利用dev来解决这些C++之外的事情。

 

自己选择一个文件夹。然后打开dev,文件->新建->项目。把项目放在你刚刚新建的项目。

沿着上面的思路,把函数定义和函数声明的代码分开写(把我第二部分的copy到main文件里)。

然后从dev文件选项里:新建->源代码,把函数声明放进去;然后新建另一个源代码,把函数实现放进去。

注意:

1.你.h文件和.cpp文件的名字需要是一样的,这样dev才能自动帮你连起来他们;

2.不要自己在dev外面直接右击新建文件,这样可能dev识别不到。

3.新建完源代码保存的时候记得自己调文件类型和名字,记得保存在你项目的目录。

 

经过上面的操作,你项目文件夹里面应当有一些dev帮你自动生成的layout文件等。

主要代码以下:

//my.h file #include void func1(); void func2(); void func3(); //my.h end //main.cpp file #include "my.h" int main() { func1(); func2(); func3(); return 0; } //main.cpp end //my.cpp file #include "my.h" void func1(){ printf("i am func1\n"); } void func2(){ printf("i am func1\n"); } void func3(){ printf("i am func1\n"); } //my.cpp end

这样就可以了。直接在dev里编译运行,你会发现的项目里多了许多文件。

 

 

 

 

其背后的秘密:

C ++程序的编译单位为每个源文件,整个编译过程大致可以分为四个阶段:预处理、编译、汇编、链接。每个编译单元都会经过预处理、编译,最后将各个单元生成的中间文件链接到一起形成可执行文件。

预处理阶段的工作主要包括:宏替换、头文件包含内容替换等。

编译阶段的主要工作是:将预处理后的源文件转换成汇编代码。

汇编阶段的主要工作是:将上一阶段生成的汇编代码编译成二进制文件,即中间文件。

链接阶段的主要工作是:将各中间文件链接到一起,生成可执行文件。

以下图来源:https://blog.csdn.net/candcplusplus/article/details/53326368

C语è¨ç¨åºç¼è¯è¿ç¨

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3