c++
yy405145590
这个作者很懒,什么都没留下…
展开
-
【LLVM实践】死循环插桩检测
死循环检测LLVM介绍FunctionPass集成到Clang工具中后记本篇文章的目的是通过在循环体里插桩代码,用以检测循环是否发生了不可预期的死循环。#include "stdio.h"int main(){ int i = 0; for(; i < 21; i++) { printf("%d \n", i); } return 0;}输出0 1 2 3 4 5 6 7 8 9 10 11 12 13原创 2022-03-04 23:26:38 · 1068 阅读 · 0 评论 -
让C/C++程序一次编译可以发布到多版本Linux之上
最近页游开放平台比较多, 每个平台要求的Linux版本各不相同, 这给开发人员部署服务器带来了很大的困难. 在本机Linux编译的程序,发布时即便将依赖的so附带到目标Linux环境,仍然会碰到依赖及版本问题,例如:[root@localhost bin]# ldd wkcenter ./wkcenter: /usr/lib/libstdc++.so.6: version `GLIBC转载 2013-07-19 12:33:37 · 991 阅读 · 0 评论 -
更彻底的统计内存, 内存池
http://www.gnu.org/savannah-checkouts/gnu/libc/manual/html_node/Hooks-for-Malloc.htmlmalloc.h里提供了hook malloc的接口原创 2013-08-28 10:46:54 · 656 阅读 · 0 评论 -
crt 内存布局图(转)
Andrew Birkett's nobugs.org Win32 Debug CRT Heap Internals… by Andrew Birkett (andy@nobugs.org)If you are lazy, skip the explanation and jump to the table at the bottom of the转载 2013-09-30 00:51:56 · 732 阅读 · 0 评论 -
Npk 文件格式
某游戏的压缩资源格式设计两个结构体:struct st_NpkHeader{ int _magic;// [_offset + 0] int _count;// [_offset + 4] size(count * 28) int _unknonw2; int _unknonw3; int _bUseTrunkCompressType; in原创 2017-01-18 16:34:15 · 16169 阅读 · 2 评论 -
Windows x64 栈帧结构
Windows x64 栈帧结构一、前言 Windows 64位下函数调用约定变为了快速调用约定,前4个参数采用rcx、rdx、r8、r9传递,多余的参数从右向左依次使用堆栈传递。本次文章是对于Windows 64位下函数调用的分析,分析各种参数情况下调用者和被调用函数的栈结构。 二、4参数时函数调用流程 64位下函数的调用约定全部用FASTCALL,就是转载 2017-06-22 20:55:44 · 2195 阅读 · 2 评论 -
使用IOCP需要注意的一些问题~~(不断补充)
1- 不要为每个小数据包发送一个IOCP请求,这样很容易耗尽IOCP的内部队列.....从而产生10055错误.2- 不要试图在发送出IOCP请求之后,收到完成通知之前修改请求中使用的数据缓冲的内容,因为在这段时间,系统可能会来读取这些缓冲. 3- 为了避免内存拷贝,可以尝试关闭SOCKET的发送和接收缓冲区,不过代价是,你需要更多的接收请求POST到一个数据流量比较大的SOCKET,转载 2017-10-03 15:24:15 · 289 阅读 · 0 评论 -
windbg crashdump调试,自定义切换栈帧
~Ns // 切换序数为N的线程为当前调试线程r rip=1111,rbp=2222,rsp=333 设置恢复栈帧所需寄存器k 查看当前调用栈.frame 1 先切换到上一层栈帧,.frame 0 再切换回来dv 就能看到当前的局部变量已经恢复了。原创 2017-11-24 17:50:37 · 1559 阅读 · 0 评论