cpp文件合并的问题

两个cpp文件,里面有部分变量名一样,但赋值不同,有部分函数名和函数体完全一样,有部分函数名一样,函数体稍有不同,怎么把它们合并在一个cpp文件里?

第1个回答  2014-07-01
1、一个工程里是有很多.cpp文件和.h文件的。你想,一个几十万行代码的程序不可能在一个文件里吧?这就需要分类,实现不同功能的文件就起个名字分开来写,方便查找,修改,也可以多人合作。

2、.cpp一般都是定义函数的地方,就是实现函数功能的地方。.h文件一般存放系统的头文件(#inlcude<stdio.h>),宏定义(#define),函数、类、结构体的声名等等。这就达到了分类的目的。

3、.cpp文件定义函数,函数前一定要有头文件<iostream>,这个头我们是放在自己定义的.h文件里的,所以.cpp快要调用与他相关的头文件"自定义.h"。

4、假设B.cpp里定义的函数要用到A.cpp的函数,那么B.cpp要包含A.cpp函数声名的那个.h文件。

5、举个具体例子吧,一个.h,2个.cpp

main.cpp里: 这个文件只包含主函数
#include "zidingyi.h"
int main()
{
int a = 10,b=20;
return sum(a,b);
}

fun.cpp: 这个文件实现各个函数的功能,然后在.h里声名
#include"zidingyi.h"
int sum(int a, int b) // 函数的声名在.h中
{
return a+b;
}

zidingyi.h:

#ifdef __SUM__
#define __SUM__

#include<iostream> //系统头文件的包含
using namespace std;
int sum(int a, int b); //函数的声名

#endif;

其中ifdef,define,endif是为了防止头文件重复调用写的,最好养成习惯。不过你用VC6.0生成的HELLO WORD是直接带的 。
其实这些东西写到一个.cpp文件是完全可以的,但是工程大了可读性差,维护性差。
请采纳答案,支持我一下。追问

感谢回答,您说的我知道,我之前没把问题说清楚,现重复一下:
有两个头文件,都叫做a.h,另有两个与a.h相关的文件,都叫做a.cpp,两个a.h中存在部分同名的变量,但有的变量赋值不同,还存在部分同样的函数,有的函数名与函数体完全一样,有的函数头相同,函数体有差别,现在要把两个a.h合并成一个a.h,两个a.cpp也要合并成一个a.cpp,能有什么方法吗

第2个回答  2014-07-01
1、一个工程里是有很多.cpp文件和.h文件的。你想,一个几十万行代码的程序不可能在一个文件里吧?这就需要分类,实现不同功能的文件就起个名字分开来写,方便查找,修改,也可以多人合作。

2、.cpp一般都是定义函数的地方,就是实现函数功能的地方。.h文件一般存放系统的头文件(#inlcude<stdio.h>),宏定义(#define),函数、类、结构体的声名等等。这就达到了分类的目的。

3、.cpp文件定义函数,函数前一定要有头文件<iostream>,这个头我们是放在自己定义的.h文件里的,所以.cpp快要调用与他相关的头文件"自定义.h"。

4、假设B.cpp里定义的函数要用到A.cpp的函数,那么B.cpp要包含A.cpp函数声名的那个.h文件。

5、举个具体例子吧,一个.h,2个.cpp

main.cpp里: 这个文件只包含主函数
#include "zidingyi.h"
int main()
{
int a = 10,b=20;
return sum(a,b);
}

fun.cpp: 这个文件实现各个函数的功能,然后在.h里声名
#include"zidingyi.h"
int sum(int a, int b) // 函数的声名在.h中
{
return a+b;
}

zidingyi.h:

#ifdef __SUM__
#define __SUM__

#include<iostream> //系统头文件的包含
using namespace std;
int sum(int a, int b); //函数的声名

#endif;

其中ifdef,define,endif是为了防止头文件重复调用写的,最好养成习惯。不过你用VC6.0生成的HELLO WORD是直接带的 。
其实这些东西写到一个.cpp文件是完全可以的,但是工程大了可读性差,维护性差。
这样可以么?

cpp文件合并的问题
1、一个工程里是有很多.cpp文件和.h文件的。你想,一个几十万行代码的程序不可能在一个文件里吧?这就需要分类,实现不同功能的文件就起个名字分开来写,方便查找,修改,也可以多人合作。2、.cpp一般都是定义函数的地方,就是实现函数功能的地方。.h文件一般存放系统的头文件(#inlcude<stdio.h>)...

两个.c源文件怎么合并?
首先得把两个.cpp文件放在一个工程文件里,然后在a文件也就是main函数的文件里,在main函数前面要申明函数:void f(void);

我现在想要将两个c++工程合并,工程A头文件只有targetver.h和stdafx...
targetver.h直接复制到B的工程目录下,stdafx.h需要跟B的stdafx.h比较一下,把多余头文件引用、变量声明、函数声明的拷贝进去就可以了

如何将两段c++程序合并到一起??急用啊~~求c++大神~~秀操作啊~~_百度...
粘贴到一起。把两个 main() 合成 1个 main()。例如:原来的程序1 include<stdio.h> int main(){ int a=11;printf("prog1 a=%d\\n",a);return 0;} 原来的程序2 include<stdio.h> int main(){ int a=22;printf("prog2 a=%d\\n",a);return 0;} === 稍许修改:include<stdio.h...

VS下的MFC工程项目 如何合并成一个。
合并工程不如把.h, .cpp文件添加到新工程。就OK了。反正你是不可能同时用两个winapp么。点“工程”-“增加到工程”-“文件”,一次把之前工程的.h,cpp添加。如果有资源的话要麻烦点。在新工程下打开旧工程的资源文件,然后单击你要的资源,点“编辑”-“复制”,然后在新工程资源窗口上右击鼠标,...

如何将三个Vc++的MFC程序合并成一个
Step3:然后将在B中你所建的dia_source上的所有控件 全选复制然后粘贴到A程序中你新建立的那个dialog即dia_target上。Step4:转移B中你所编写的XX.c和XX.h文件 转移文件除了stdafx.h\/.cpp和B.h\/.cpp不用移动外其余的要进行移动 注意:转移时 注意要先将A与B程序对应的文件夹打开 找到你要转移的...

C++ 多个文件中定义同一个namespace
存在两种情况:1)名字空间名称相同,成员名字不同,那么他们会自动合并为一个名字空间,可以理解为追加 2)名字空间名称相同,成员名称相同。那么程序会在调试过程的link时报错。因为连接器会检测到重复定义的变量。

关于C++的简单问题
3,显然各个不同的cpp执行不同的功能,比如一个工程要完成十个功能,那我就将每个功能分别用.cpp文件实现,这样非常利于代码的阅读和修改;当然,你也可以把所有的cpp合并到一个cpp中,也可以完成同样的功能,那么这个cpp文件就会太大了,各种函数定义乱成一锅粥,程序的可读性非常低。。。就好比一件...

...DLL和DLL的头文件怎样在一个项目中的多个CPP文件中使用,头文件中有...
3. DLL中用的全局变量应该在DLL模块内定义。(无论是DLL的cpp文件或在“DLL模块自己用的头文件”中)下面给个例子。(例子中将“DLL模块自己用的头文件”和“给DLL以外的模块用的头文件”合并在一起)A。DLL的cpp文件:(dlltest.cpp)define DLL_EXPORT \/\/这是编译DLL模块本身 或编译其他使...

怎样合并两个mfc项目?
功能上的合并还是工程上的合并?如果是工程合并,那就“Insert Projects into Workspace”就可以了 功能上的合并,简单点就是一个程序调用另外一个程序,传递参数完成计算,如果是这样可参考:ShellExecute函数的具体用法。复杂的就是资源、功能的合二为一,只能一步步往一个程序里加了,别的没办法 ...

相似回答
大家正在搜