![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 68
李耳-lier
我要成为传说中的全栈工程师!//算了,还是当一条咸鱼好了233333
展开
-
溢出导致Sigabrt
前几天在做的项目一个模块在测试时报出sigabrt导致程序崩溃,花了一上午才定位到错误到底是在哪出现的,今天特地来梳理一下。背景:工程内用了一个C++类,大致是这样子的(不涉及这次问题的部分就不写了。。。就是这么懒=。=)Class MyClass{ Char* bpcontent;//一个用来接收数据包的char指针 MyClass();原创 2015-03-21 12:28:29 · 1907 阅读 · 0 评论 -
Makefile写法入门篇
只写一下比较简单粗暴五分钟可以理解的部分,详细写法引一下大神们的博客http://blog.csdn.net/liang13664759/article/details/1771246 规则:格式:Object : dependences CommandObject是目标文件Dependences是生成object所需要的头文件Command是gcc原创 2015-03-21 12:33:22 · 331 阅读 · 0 评论 -
C++线程同步的一种简单方法
习惯于在java下使用synchronized关键词来进行线程同步控制,在C++下接到需要进行线程同步的任务时突然有点蒙,然后第一反应是回忆起了《操作系统》课上老师说过的原子操作,于是百度一番找到了atomic.h这个提供原子操作的头文件,可惜的是给定的环境中并没有提供这个头文件,经过一番请教结果发现pthread.h中本就提供了线程同步控制的方法:互斥锁mutex为了验证同步的实现情况,我们原创 2015-03-23 15:06:12 · 593 阅读 · 0 评论 -
Common realloc mistake: 'd_data' nulled but not freed upon failure
CppCheck进行源码安全性扫描时出现的error警告,会在realloc函数失败时导致原有申请的内存引用丢失而原有申请的内存并未被释放而导致内存泄漏,因此需要先保留realloc函数之前已有的内存指针,在realloc后判断是否成功,成功再进行赋值,这样失败以后保留了原申请内存的引用不会导致内存泄漏。错误范例:d_data = (char *)realloc (d_data, size翻译 2015-05-29 13:42:54 · 2825 阅读 · 0 评论 -
string 与char* char[]之间的转换
转自http://blog.csdn.net/cogbee/article/details/89318381、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin()、end(),迭代器可以根据他们进行定位。注意,与char*不同的是,string不一定转载 2015-06-23 15:16:40 · 822 阅读 · 0 评论 -
wparam和lparam
WPARAM 和 LPARAM是windows消息响应机制中提供的两个用来传递消息的形参。类型定义如下:typedef UINT WPARAM;typedef LONG LPARAM;其中:(1)wparam是一个UINT/word类型的变量,lparam是一个long类型的变量。在win32 API中二者长度一样。(2)由于系统中地址的长度与lparam长度相同,因此在传原创 2015-07-08 16:48:28 · 1731 阅读 · 0 评论 -
undefined reference to 'pthread_create'解决方法
1.编译时添加-lpthread2.上一步如果还是无效,说明你将-lpthread写在了-o前面,试试把-lpthread写在-o后面吧原创 2015-11-13 13:38:37 · 469 阅读 · 0 评论