C/C++
文章平均质量分 80
FateDier
一场雨,一场梦!
展开
-
从简单实例开始,学会写Makefile(一)
作为一个刚刚从大学囚笼里走出的新人,进公司不久就遇到了一个不大不小的门槛——看不懂Makefile!虽然还不至于影响到项目进度,从别的地方拷贝一份过来稍加修改就可以用了,但是,对于咱们“程序猿”来说这实在是一件让人感到很不爽的事。于是,百度,谷歌(PS:吐槽一下,不XX的话Google已经完全不能用了,Bing的效果都要比百度好一些),各种看资料,看大牛的博客,或许是本人比较笨,也或许是网上的资料原创 2014-09-08 22:42:42 · 27919 阅读 · 5 评论 -
size() == 0和empty()的比较
最近开发公司项目的时候发现大量用到了STL模板库,而且很多地方都需要判断一个容器是否为空,看到了两种写法,分别使用了容器的 size() 函数和 empty()函数。 我觉得很好奇,这两种写法有什么区别呢?在网上查阅了一些资料,发现说empty()效率更高的占大多数。又查看了SGI STL的帮助文档,里面有一句话: Ifyou are testi原创 2014-09-26 10:53:18 · 6828 阅读 · 2 评论 -
从简单实例开始,学会写Makefile(二)
五、.d文件,解决文件间的相互引用1、自动生成依赖关系在前文的项目基础上,考虑一下这种情况:如果我们在w1.h文件里包含了头文件w2.h以及w3.h并且用到其中定义的函数。 第一次编译没有遇到问题,但是如果后续的开发过程中修改了w2.h或者w3.h文件中的内容,再执行gmake命令的时候,就遇到问题了——w1.cpp文件不会被重新编译了!原创 2014-09-24 15:54:51 · 2136 阅读 · 3 评论 -
gcc的使用
gcc命令格式: gcc [options] [filename] 选项: -x language 指定使用的语言(C C++ 或汇编) -c 只对文件进行编译和汇编,不进行链接 gcc –c test.c -S 只对文件进行编译,但是不进行汇编和链接 gcc –S test.c转载 2014-10-23 17:45:30 · 502 阅读 · 0 评论 -
C/C++获取精确到微秒级的系统时间
最近要为自己的项目开发一个日志模块,需要获取精确到微秒级的系统时间,查阅了一些资料,发现在C/C++里面可以通过gettimeofday(struct timeval * tv,struct timezone * tz)和localtime(const time_t * timep)这两个函数的配合使用来得到我想要的结果。 先贴一下这两个函数的说明:原创 2014-09-30 11:05:06 · 23533 阅读 · 2 评论 -
C++利用反射和简单工厂模式实现业务模块解耦
1. 业务说明为了便于说明,举一个简单的例子。假设现在有一个项目需要建立一个和银行交互的平台,目前只接入工商银行,后续接入其他银行,每个银行的业务都有差异,报文格式可能也不一致。这里只列举几个简要的流程,仅包括拼报文,发送报文,接收报文,解析报文,其余整体架构以及后续处理等内容省略。2. 初步设计创建一个银行交互类 BankOpt,包括四个函数:int setMsg(); //拼报文i原创 2015-03-04 22:50:28 · 2646 阅读 · 2 评论