![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
XMan_Liu
积极乐天
展开
-
c++ std::string 数据buffer的学习
std::string 数据buffer原创 2022-11-02 10:40:37 · 910 阅读 · 1 评论 -
状态机编程的一点心得
状态机抽象后, 其实就是state与event的处理:1.方案一,可以每个state创建一个class, 该class针对每个event有一个处理函数, 处理后返回一个下一个state的对象。2. 方案二, 状态机其实本质上是处理每个state & event的组合, 简单的实现方式是switch state:{ case state1: switch event: { case event1:原创 2022-03-22 09:55:26 · 430 阅读 · 0 评论 -
Python pyautogui 实现自动化鼠标点击
源地址:https://blog.csdn.net/ooowwq/article/details/103825291?utm_source=app&app_version=4.20.0应用场景:软件模拟按键测试游戏自动投降降分脚本转载 2021-12-12 14:30:15 · 532 阅读 · 0 评论 -
GDB 插件memo
GEF: https://gef.readthedocs.io/en/master/PEDA: https://github.com/longld/peda原创 2021-10-14 15:48:00 · 107 阅读 · 0 评论 -
深入学习linux内存知识备忘
内存管理与分页机制, 及malloc(0) 实际获取内存的大小:https://blog.csdn.net/apollon_krj/article/details/53869173sbrk、brk、mmap、munmap, sbrk/brk 控制heap;mmap/munmap控制heap与stack之间的区域:https://blog.csdn.net/Apollon_krj/article/details/54565768mmap深入:https://www.cnblogs.com/huxiao-.转载 2021-10-13 14:56:00 · 123 阅读 · 0 评论 -
使用第三方静态库产生crash的处理思路
确认编译器是否一致, 调用代码编译器和第三方静态库的编译器不一致, 可能会导致内存布局不同。确认引用的系统头文件是否一致,有些头文件包含了声明和定义,实现不同会导致问题。确认编译选项是否一致,有很多编译选项会导致内存偏移量改变,如果第三方的代码在头文件实现,且调用方和第三方代码编译选项不同,会导致调用方调用该内联函数的时候,按照自己这边编译选项分析出来的偏移量找第三方的成员变量的位置,从而导致crash。.........原创 2021-09-27 09:52:27 · 437 阅读 · 0 评论 -
std::mem_fn, std::mem_fun和 std::mem_fun_ref
https://elloop.github.io/c++/2015-12-21/learning-using-stl-23-std-mem-fn转载 2021-08-09 17:56:18 · 258 阅读 · 0 评论 -
std::thread 传参陷阱学习
https://www.cnblogs.com/5iedu/p/11633683.html转载 2021-08-05 16:54:30 · 193 阅读 · 0 评论 -
右值及右值引用备忘
https://liam.page/2016/12/11/rvalue-reference-in-Cpp/转载 2021-08-05 16:46:42 · 91 阅读 · 0 评论 -
C++标准类型转换模板表
摘自C++ primier 5th转载 2021-04-09 09:40:47 · 144 阅读 · 0 评论 -
c++ 虚函数及虚表的学习备忘
虚函数:https://www.cnblogs.com/malecrab/p/5572730.html虚表:https://www.cnblogs.com/malecrab/p/5573368.html转载 2021-03-24 16:06:47 · 79 阅读 · 0 评论 -
学习std::random_device
https://www.cnblogs.com/egmkang/archive/2012/09/06/2673253.html转载 2020-11-25 18:49:18 · 2030 阅读 · 0 评论 -
C++回调机制实现(转)
(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件:typedef void (__stdcall *DownloadCallback)(const char* pURL, bool bOK);转载 2015-12-29 09:17:35 · 489 阅读 · 0 评论 -
内存-堆-栈的一些东西
转发链接:http://www.cnblogs.com/zmlctt/p/3987181.html 今天面试问了一个栈大小问题,问过两次内存的结构问题,都没有答好,这次要弄清楚才行。栈大小是有默认值的,如果申请的临时变量太大的话就会超过栈大小,造成栈溢出。编译期限制栈大小,和系统限制栈深度根本是两回事。系统限制栈深是限制进程主线程的栈深,限制的是整个函数调用链的最大栈深,这个栈深是函数调用链上各个转载 2016-05-20 15:09:36 · 411 阅读 · 0 评论 -
深入理解C语言函数指针
原地址: http://www.cnblogs.com/windlaughing/archive/2013/04/10/3012012.html示例1:void myFun(int x); //声明也可写成:void myFun( int );int main(){ myFun(100);//一般的函数调用 return 0;}void myFun(int x){转载 2016-12-09 15:28:36 · 418 阅读 · 0 评论 -
关于STL中vector使用unique()去重
源地址:http://blog.sina.com.cn/s/blog_69146f5101016tv6.htmlSTL中Unique函数的作用是去除相邻重复元素#include#include#includeusing namespace stdint main(){int a[10] = {7,4,1,7,4,1,7,4,1,0};sort(a,a+10);//小到大vector<i转载 2017-07-25 17:08:48 · 6435 阅读 · 0 评论 -
C++ 中 ZeroMemory、memset 危险需慎用(转)
源地址: http://lib.csdn.net/article/cplusplus/42897使用C/C++编程时,常使用ZeroMemory、memset或 “={0}”来对结构体对象进行初始化或清零。然而这三种方式都有各自的特点,使用时需谨慎,否则容易出现严重错误memsetvoid *memset(void *s,int ch,size_t n); 是由C Run-time Library提转载 2017-09-06 15:49:37 · 328 阅读 · 0 评论 -
GDB 命令学习笔记
$ file processs_name$ b __brk 给进程分配内存时,在内核设置的断点$ !cat /proc/pid/maps 查看进程空间位置 //加了叹号可用linux cmd$ i shared 看各模块内存的分配$ !readelf -h$ !readelf -S 看section$ info registers 看寄存器$ help info registers ......原创 2018-06-10 10:18:30 · 724 阅读 · 0 评论 -
(转)用C++11的std::async代替线程的创建, 以及std::future,std::promise和std::packaged_task的使用
转载地址:https://www.cnblogs.com/qicosmos/p/3534211.htmlc++11中增加了线程,使得我们可以非常方便的创建线程,它的基本用法是这样的:void f(int n);std::thread t(f, n + 1);t.join();但是线程毕竟是属于比较低层次的东西,有时候使用有些不便,比如我希望获取线程函数的返回结果的时候,我就不能直接通过...转载 2018-09-19 23:18:58 · 284 阅读 · 0 评论 -
linux网络编程常用函数详解与实例(socket-->bind-->listen-->accept)
转载:http://blog.sina.com.cn/s/blog_50571b1f010082pg.html常用的网络命令:netstat命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的选项我们常用的选项是 -an 用来显示详细的网络状态.至于其它的选项我们可以使用帮助telnettelnet是一个用来远转载 2016-01-04 13:10:50 · 2279 阅读 · 0 评论