- 博客(15)
- 资源 (28)
- 收藏
- 关注

原创 boost如何序列化 和反序列化 指针类(本身类也可以)
今天找了很长时间如何序列化自己类,但是找了很多帖子都没有序列化自己的例子。最后我感觉是没有重载复制函数的原因,当我增加复制函数后就可以序列化自己的类了。不多说了 直接上代码,希望能帮助其他朋友class FPDF_BOOKMARKNODE {public:FPDF_BOOKMARKNODE() {}FPDF_BOOKMARKNODE(const std::wstring
2017-01-10 17:59:05
3728
原创 模仿nginx进行进程绑定cpu
为什么nginx多核效率更高,主要进行了多进程绑定cpu,提高程序的效率。减少cpu轮换切换时间。下面代码模拟#include<stdio.h>#include<stdlib.h>#include<string.h>#include <iostream>#include <sys/socket.h>#include <sys/epoll.h>#include <netinet/in.h>#include.
2021-07-06 16:01:16
184
原创 误用vector内存泄漏验证(二)
经过上一篇文章 关于内存泄漏的原理https://blog.youkuaiyun.com/u011569253/article/details/118332076之后再次基础上做一个验证,验证是否符合自己的猜想。/struct FieldInfo { std::string value; std::vector<std::string> multi_value; bool valid_discrete_feature_ = false; FieldInfo()
2021-06-30 11:17:00
499
原创 服务器vector内存泄漏排查过程
在开发过程中出现内存泄漏反复排查具体原因,终于定位到是因为vector操作不当引起内存泄漏,再次记录此次过程structFieldInfo{std::stringvalue;std::vector<std::string>multi_value;boolvalid_discrete_feature_=false;FieldInfo(){}FieldInfo(std::string&...
2021-06-29 15:35:36
1411
原创 从汇编代码分析c++虚函数表真正原理
记得当年刚入行的时候经常看一些别人讲C++虚函数表,当时也不理解,别人怎么说就怎么信了。后来知道多了,发现以前的帖子很有问题,不知道你是否看过这样的图片。现在我用汇编分析真正虚函数是如何实现动态,如何生存虚函数表。如果你觉得有什么不对的地方欢迎交流。这个图片问题很大,我只是指出些这样帖子的人一些错误。下面来看我写的一对父子类class MyPreant{public: MyPreant();...
2018-07-07 13:48:11
1717
4
原创 一个通俗易懂的ShellCode例子
每当你听到ShellCode一定会想到病毒与安全。其实ShellCode并没有你想想中的那么难,它有一个特点就是把它嵌入到任何进程中都能够运行。是不是感觉很牛逼。但是我们分析一下什么代码能够不依赖任何环境呢?首先这段代码不能够有常量区、静态区数据。也就是说不能够有全局变量。还有不能有类似char str[]={"hello word"};这样的数据,因为这样的数据在常量区。同时不能够有系统调用和函...
2018-05-31 22:01:30
22214
1
原创 inlineHOOK 函数
最近在研究如何hook自己的函数。现在我们来讲一下hook函数的过程,首先要hook自己函数要找到自己函数的地址,之后找到不少于5个字节的硬编码地址替换成E9(JMP)跳转到我们制定的函数地址。我们制定的函数设置成裸函数,我们要保持进入我们定制函数前和后的寄存器和标志寄存器值不变和堆栈的平衡。同时我们要在函数里实现我们替换的代码。这样才能保持程序的正常执行。下面不多说了上代码讲解。int CInj...
2018-05-17 13:12:08
1397
原创 windwos下检测3.5毫米耳机插入
由于产品的一个新需求,所以开始研究耳机检测,网络上大部分的代码都是通过com接口实现的。我也是使用这总方法做检测的,继承了IMMNotificationClient类在OnPropertyValueChanged这个方法中收到插拔耳机的回调。但是你一定会发现一个问题就是消息太多了。根本无法识别哪一个回调是插耳机哪一个是拔耳机。我当时的想法就是通过这个消息作为回调触发。而检测耳机是否插拔在其他的地方...
2018-05-11 15:45:12
2110
原创 Hook进程IAT表
这两天研究下IAT表的hook,看来很多帖子,也试过很多代码,但是都会遇到一些问题。下面我结合被人的东西还有一些自己修改,写了一个简单的hook IAT表。首先自己写一个IAThook,要先对PE有一定的了解,知道IAT做什么的,IAT在PE文件中的位置,当你有了这些知识之后就可以对IAT做hook了。这里我就不对IAT表做什么的和PE文件做介绍了。下面介绍一下hook原理,当你要hook一个函数...
2018-05-10 18:01:41
675
原创 关于环形缓冲区的使用
前一段时间在做视频接收的时候,自己写了一个很简单的环形缓冲区例子,参照了ffmpeg AVFifoBuffer类,但是又简化了这个类,并增加一个内存映射链表,用来动态移动读指针。现在我来介绍一下具体原理。其实环形缓冲区就是在最开始的时候申请一个大buffer,有一个读指针,一个写指针,随着数据写入和读取改变读写指针,具体分为三总情况:一、是读写速度差不多,这种情况比较简单。二、写的很快读的慢
2017-05-11 15:58:06
3088
原创 boost官方文档中聊天程序连续发包崩溃问题
大家都知道boost官方提供的聊天程序模型,由于工作需要我在上面的基础上增加图片发送的需求。发生崩溃原因。这个是发送消息的源码:void do_write(chat_message msg) { bool write_in_progress = !write_msgs_.empty(); //空的话变量为false write_msgs_.pu
2016-11-07 17:16:23
840
boost服务器框架
2016-09-30
注册表文件关联
2013-12-03
MFC树控件重绘
2013-08-16
树控件重绘
2013-08-12
CMyTreeCtrl
2013-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人