![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
风夜阑竹
这个作者很懒,什么都没留下…
展开
-
inline内联函数的使用及原因
使用函数的好处想必大家都了解,但是调用函数会增加许多开销,有栈和寄存器的操作。对于那些函数体比较简洁、被调用又特别频繁的函数来说。这些开销对性能的影响还是比较大的。因此,就产生了内联函数来解决这个问题。 内联函数可以将函数体在调用点内联的展开(此处可联想#define的使用) 在函数返回值类型前加“inline”关键字就可以将一个函数指定为内联函数,如 inline int s原创 2014-03-19 13:51:11 · 617 阅读 · 0 评论 -
跨平台的多线程互斥访问控制(Mutex和Critical_Section)
1.首先解决跨平台原创 2014-10-29 13:48:01 · 1555 阅读 · 0 评论 -
可变参数宏__VA_ARGS__解析
__VA_ARGS__ 是一个可变参数的宏(gcc支持)。实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个点)。这样预定义宏_ _VA_ARGS_ _就可以被用在替换部分中,替换省略号所代表的字符串。加##用来支持0个可变参数的情况。 测试代码: #include #define PRINT_DBG(debug, ...)\ {\ if(debug转载 2014-09-01 10:35:28 · 976 阅读 · 0 评论 -
结构体对齐的原则及原因分析
为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些转载 2014-09-23 09:07:53 · 1383 阅读 · 0 评论 -
警惕逻辑表达式中的无符号类型运算(C语言类型转换)
l#include#includeint main(){char tmp[]="12345";unsigned int b;b=5;printf("%d",b-10return 1;}原创 2014-08-26 16:22:56 · 1006 阅读 · 0 评论 -
使用typedef定义函数指针
1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) [cpp] view plaincopychar (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2);转载 2014-08-24 10:13:56 · 579 阅读 · 0 评论 -
ASSERT(断言)的用法解析
我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:if(假设成立){ 程序正常运行;}else{ 报错&&终止程序!(避免由转载 2014-08-22 10:39:47 · 801 阅读 · 0 评论 -
RHEL 6.4中安装G++编译器及GCC与G++区别
1.在虚拟机设置的CD-ROM中选择“使用ISO镜像wenj”转载 2014-08-04 09:20:55 · 745 阅读 · 0 评论 -
转载:跟我一起写Makefile
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写m转载 2014-07-27 16:37:26 · 412 阅读 · 0 评论 -
C++ 虚析构函数的用法
C++中虚析构函数的作用我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:[cpp] view plaincopy#include using namespace std; class ClxBase { publi转载 2015-03-06 13:59:41 · 812 阅读 · 0 评论