一个工程里有多个cpp源文件,和把所有代码写在一个文件里有区别吗?如果没有区别各个文件之间怎么相互联系
3个回答
展开全部
肯定是有区别的,不然大家就不需要那么多文件了。
从编译器的角度看,可以减少编译量。.h.cpp编译生成.o,.o链接后.exe(或者其他)。都是万行代码,如果只有一个文件,那么只要改一行代码,整个文件都需要重新编译。如果代码更多,编译代价更大。但是如果分开写,改一行代码只编译一个文件,其他的不需要重新编译,然后再链接,代价就小得多。
从功能模块的角度讲,区分更明显。特别是在面向对象,每一对文件,都是一个独立的完整的个体。这样复用性更高,可以有效减少代码量。
从团队合作的角度来讲,降低耦合性,更利于集团开发。每一个大的需求,功能百千,分目录分文件快速构架,异步开发。每一个大的项目,代码数万行,可以快速的找到你要的代码。每一个团队,队员的代码风格各不相同,自己编辑自己的代码不受他人影响....
好的代码,有很多细节可以追求的,呵呵
从编译器的角度看,可以减少编译量。.h.cpp编译生成.o,.o链接后.exe(或者其他)。都是万行代码,如果只有一个文件,那么只要改一行代码,整个文件都需要重新编译。如果代码更多,编译代价更大。但是如果分开写,改一行代码只编译一个文件,其他的不需要重新编译,然后再链接,代价就小得多。
从功能模块的角度讲,区分更明显。特别是在面向对象,每一对文件,都是一个独立的完整的个体。这样复用性更高,可以有效减少代码量。
从团队合作的角度来讲,降低耦合性,更利于集团开发。每一个大的需求,功能百千,分目录分文件快速构架,异步开发。每一个大的项目,代码数万行,可以快速的找到你要的代码。每一个团队,队员的代码风格各不相同,自己编辑自己的代码不受他人影响....
好的代码,有很多细节可以追求的,呵呵
展开全部
将代码分开写在不同文件里是为了方便管理
其实把代码写在一个文件里也是可以的,不过这样的话不仅编写扩展,查看起来很困难,项目大了会导致文件很大,很难维护。
C/C++里面若要引用其他文件里的函数,声明等需要使用预处理指令引入头文件#include "filename.h"或#include <filename>,引入cpp或c源文件其实也是可以的,不过一般我们将函数、变量申明单独拿出来写成一个以.h结尾的头文件,而具体实现写在以.cpp/.cc/.c结尾的源文件里,编译器处理#include "filename.h"时会自动去找filename.cpp等实现文件。
事实上编译在预处理的时候是会把#include指令扩展成你要导入的文件内容的。也就是把代码都放在一起了,然后编译这个大文件生成一个二进制格式的文件,在链接的时候把项目里那些文件生成的二进制文件链接到一起生成可执行程序。
其实把代码写在一个文件里也是可以的,不过这样的话不仅编写扩展,查看起来很困难,项目大了会导致文件很大,很难维护。
C/C++里面若要引用其他文件里的函数,声明等需要使用预处理指令引入头文件#include "filename.h"或#include <filename>,引入cpp或c源文件其实也是可以的,不过一般我们将函数、变量申明单独拿出来写成一个以.h结尾的头文件,而具体实现写在以.cpp/.cc/.c结尾的源文件里,编译器处理#include "filename.h"时会自动去找filename.cpp等实现文件。
事实上编译在预处理的时候是会把#include指令扩展成你要导入的文件内容的。也就是把代码都放在一起了,然后编译这个大文件生成一个二进制格式的文件,在链接的时候把项目里那些文件生成的二进制文件链接到一起生成可执行程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-08-19
展开全部
代码风格、软件工程!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询