
C/C++
jmflovezlf
这个作者很懒,什么都没留下…
展开
-
重载箭头操作符
箭头操作符与众不同。它可能表现得像二元操作符一样:接受一个对象和一个成员名。对对象解引用以获取成员。不管外表如何,箭头操作符不接受显式形参。这里没有第二个形参,因为 -> 的右操作数不是表达式,相反,是对应着类成员的一个标识符。没有明显可行的途径将一个标识符作为形参传递给函数,相反,由编译器处理获取成员的工作。当这样编写时: point->action();由于优先原创 2013-10-04 13:12:13 · 693 阅读 · 0 评论 -
浮点数与零比较
#define FLOAT_PRECISION 0.000001fNP_BOOL isFloatEqual(FLOAT fValue1, FLOAT fValue2){ const FLOAT fPrec = FLOAT_PRECISION; return ((fValue2 > (fValue1 - fPrec)) && (fValue2 }原创 2013-12-18 20:58:22 · 602 阅读 · 0 评论 -
memmov实现
memcpy不支持重叠区域拷贝,但memmov支持。下面针对memmov,个人实现了一个简单的版本#include #include void* m_memmov(void* dst, void* src, unsigned int cnt){ char* s = (char*)src; char* d = (char*)dst; if(NULL == s || NULL ==原创 2013-05-13 14:55:16 · 754 阅读 · 0 评论 -
Linux 互斥量Mutex 进程间共享
Mutex 本身是支持进程内和进程间两种类型的,平时在使用的时候用到的最多的还是进程内同步,昨天在看android framework的时候,发现其在barrier上还是使用了Mutex的进程间同步。实现方式还是蛮简单的,将pthread_mutex_t数据结构保存到共享内存上,从而实现多个进程共享同一内存,不像windows上指定一个名字就搞定了,废话少说,上代码:原创 2014-11-03 17:27:09 · 1179 阅读 · 0 评论 -
typeof 详解
一,说明 typeof的参数可以是两种形式:表达式或类型。 1,表达式的的例子: typeof(x[0](1) 这里假设x是一个函数指针数组,这样就可以得到这个函数返回值的类型了。 如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。 以下示例声明了int类型的var变量,因为表达转载 2014-12-11 13:09:59 · 1041 阅读 · 0 评论 -
gdb调试core文件
1,程序crash,如何能生成core文件? ulimit -c unlimited(或者根据自己的经验值设置一个合理的数据)执行完上述命令后,当程序挂掉的时候会自动留下自己的墓碑信息,给后人留下线索信息!2,如何debug core文件? 这里假定core文件的name为corer, 与core文件对应的同一版本的程序(带symbol)name为crasher原创 2014-12-12 23:23:40 · 4018 阅读 · 0 评论