大家平时怎么整理自己常用的公共C/C++源代码?

WenPengWen 2016-04-08 12:45:48
相信大家开发时间长了之后,都会有一些常用的C/C++代码,比如一些重复使用的算法,字符串操作,一些系统接口的封装等等。这些函数一般都怎么整理起来,放在公共的h/Cpp文件中吗?还是专门写一个静态lib库或是DLL?

我是这样写的,比如把不同的函数整理到不同的h/CPP文件中,比如

CmnFile.h+CmnFile.cpp
CmnString.h+CmnString.cpp
CmnProcess.h+CmnProcess.cpp
。。。

接着写一个Common.h把这些头文件的包括进来

#include "Common\CmnFile.h"
#include "Common\CmnString.h"
#include "Common\CmnProcess.h"
。。。

然后写一个Common.cpp把这些实现文件的包括进来(别觉得奇怪,编译器也是支持包括cpp文件的)

#include "Common\CmnFile.cpp"
#include "Common\CmnString.cpp"
#include "Common\CmnProcess.cpp"
。。。

以后我如果要在项目中引用这些公共代码的话,就只要添加Common.h和Common.cpp就可以随意使用里面的公共代码了!!

本来以为这样很好,后来才发现直接包括cpp文件会有一个致命的缺点:宏定义的范围会扩大到整个Common.cpp!比如你在CmnFile.cpp里定义的宏,在CmnProcess.cpp里也能生效,导致了宏重复定义之类的问题(还有其他一些问题)。

但是我并不太想专门新建一个静态Lib库,这样太麻烦了。

所以请大家都来说说,有什么更好的办法整理自己常用的函数库?
...全文
233 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ri_aje 2016-04-09
  • 打赏
  • 举报
回复
楼主再等等吧,c++ module 出来了,你那个宏污染的问题就解决了,不过也许到时候又有其他问题暴露了,所以还是少用宏。
  • 打赏
  • 举报
回复
宏重复定义的问题,养成习惯#ifndef 我是菜鸟。。。
ztenv 版主 2016-04-08
  • 打赏
  • 举报
回复
这种做法不可取…………会导致很多问题,虽然有时候看起来很方便
paschen 版主 2016-04-08
  • 打赏
  • 举报
回复
尽可能把宏定义放到CPP文件里
薛定谔之死猫 2016-04-08
  • 打赏
  • 举报
回复
初学,毫无保留,进来看看大家是怎么玩的~
csdn89578289 2016-04-08
  • 打赏
  • 举报
回复
整理出来,存入文件,使用时方便查找。 将文件分类,比如函数实现、shell、数据库等。 作为程序员,总不可能什么都记在大脑里,只要在需要的时候可以定位就ok了。
列子汤问 2016-04-08
  • 打赏
  • 举报
回复
我也习惯于代码级别的共用,因为这样debug方便。
可乐714 2016-04-08
  • 打赏
  • 举报
回复
有一些常用的操作,我更多的是用宏定义去实现那些简单的函数,我也会使用模块化编程,把同一个模块的函数放在同一个文件夹内,然后头文件和函数实现又分别放在inc 和src 的文件夹中
apple_v1 2016-04-08
  • 打赏
  • 举报
回复
用动态库方便
cocoabird 2016-04-08
  • 打赏
  • 举报
回复
分类保存,我是村道日记中,用到时参考一下,不建议直接用原文件

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧