Kevin.Sun

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年4月14日

摘要: atomic_add实现原子加操作,代码如下,输入参数:couter地址(被加数),add加数,返回值:counter地址内原有输入int atomic_add(volatile int *count, int add){#ifdef __linux__ __asm__ __volatile__( "lock xadd %0, (%1);" : "=a"(add) : "r"(count), "a"(add) : "memory" );#else#... 阅读全文
posted @ 2013-04-14 20:35 Kevin.Sun 阅读(732) 评论(0) 推荐(0) 编辑

2012年12月4日

摘要: http://stackoverflow.com/questions/236129/splitting-a-string-in-c 阅读全文
posted @ 2012-12-04 17:26 Kevin.Sun 阅读(149) 评论(0) 推荐(0) 编辑

2011年5月27日

摘要: 调试一个程序,在非break point的地方,弹出窗口,说是出现错误,看底部 out put窗口说是Invalid Address specified to RtlValidateHeap,初步认为是指针释放的错误,又走了一边程序,并没有重复释放的嫌疑,于是就边debug 边观察IDE中的call stack 发现问题出现在析构函数中的自定义的release方法,由于习惯,在定义类的时候常定义一个release方法,用于在类析构的时候检查动态分配的内存是否都已经正确的释放,这里出来问题说明还是指针的问题,仔细检查,发现自己定义了一个LPTSTR指针,起初对其进行了内存的分配,在程序中对字符. 阅读全文
posted @ 2011-05-27 13:42 Kevin.Sun 阅读(1924) 评论(0) 推荐(1) 编辑

2011年5月18日

摘要: 字面意思为没有默认的构造函数,但是仔细的检查了自己的类的定义和实现,其中已经实现了无参的构造函数,而且new 的语法部分也没有错误既然系统说找不到默认的构造函数,也就是说编译器在进行解析的过程中出现了类似于函数未定义的错误,那么是不是自己的类的定义位置出现了问题仔细看了一下自己的类的定义,个人为了方便将类的定义和实现都写在了cpp中结构如下:class A{...............};//The implementaton of A's methodvoid A::function(){ b = new B();}class B{...............};//The im 阅读全文
posted @ 2011-05-18 11:49 Kevin.Sun 阅读(948) 评论(0) 推荐(0) 编辑

2011年5月9日

摘要: windows 7上安装wireshark时,会遇到NPF驱动无法启动的情况,一般如果采用管理员的方式就可以正常启动,或者是将NPF安装为service的方式,这样问题就OK了以管理员的方式进行启动NPF驱动方法步骤为开始->附件->cmd(右键点击,浏览到以管理员方式启动) ->命令net start npf比较快的方式是:按下windows徽标键->键盘输入cmd(此时注意按下徽标键后窗口下的搜索栏内会输入你键入的cmd),搜到cmd,->同时按下ctrl+shift+enter—>接下来的就是弹出的是否以管理员运行,一切OK了 阅读全文
posted @ 2011-05-09 14:38 Kevin.Sun 阅读(1450) 评论(0) 推荐(0) 编辑