- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 使用nanomsg实现多子节点时序or数据同步
前言本文通过简绍nanomsg基本通信模式结构,并采用PIPELINE、PUBSUB模式相互配合的方式来实现多子节点时序or数据同步;设计中使用PIPELINE模式用来采集子节点的同步时序或同步数据,如果子节点都同步之后使用PUBSUB模式群发订阅消息发送事件来通知子节点。设计结构图 PIPELINE模式 PIPELINE模式聚合来自多个来源的消息,并在多个目的地之间进行负载...
2020-05-01 21:24:56 1067
原创 4级指针的应用 - 4级TLB模拟(实现高速线性地址数据访问的监控)
以前做CPU仿真器时,为了提高对仿真IO读写内存地址检查的执行效率实现了一个模拟TLB的代码,我整理了一下代码的实现。本代码主要是实现了一个4级页表创建与查询的过程,对于在一定范围内的32位地址访问的监控会大大的提高工作效率。注意:本代码仅仅实现了32位的地址typedef void ***** mm_fast_map;#define PGD(addr) ((addr ...
2020-03-28 00:28:01 569
原创 WebAssembly 二进制格式分析
前言WebAssembly 是一种新兴的网页虚拟机标准,它的设计目标包括:高可移植性、高安全性、高效率、尽可能小的程序体积。本文主要是主要是通过分析wasm文件的结构来说明WebAssembly为什么会有更小的程序体积。 WebAssembly与html/CSS/JavaScript最不一样的特点,WebAssembly采用二进制的方式存储程序代码与数据,可以进最大的努力使得文件特别...
2020-03-14 11:41:52 1081
原创 Variadic Templates [参数不定的模板参数] 特性与优缺点
Variadic Template是C++11的一个很重要的特性:参数个数:利用参数个数逐一递减的特性,实现递归调用; 参数类型:参数个数逐一递减导致参数类型也逐一递减;Variadic Template 的缺点:只能在同一个代码文件中调用,如果在静态库或者动态库则无法正常调用 Variadic Template是一种与编译有关的特性,属于静态的;编译器编译时会扫描本文件中所有的调用...
2020-03-13 12:00:03 344
原创 一段奇妙的C语言代码的实现
看gdb源码的时候无意发现一个奇怪的写法, 仔细查看了之后明白了其中的秘密fun()->mem1 = xx;fun()->mem2(4);这是我实现的一个代码:#include <stdio.h>#include <stdlib.h>typedef int (*print_fun_t)(const char *, ...);stru...
2019-07-18 15:18:17 359
原创 UDP Socket遇到的奇异事件
问题描述最近在开发一个UDP的网络服务器程序,遇到一个神奇的问题,代码已经看了好多遍,还有没有看出什么地方有问题,刚刚终于找到了问题所在。看看之前的代码: struct sockaddr_in addrClient; char szBuf[BUFSZ + 1] = { 0 }; int nMsgLen, addrLen; nMsgLen = recvfrom(socket_fd...
2019-04-24 17:53:51 489
原创 实现高精度定时器
#include <windows.h>#include <stdio.h>/*typedef union _LARGE_INTEGER { struct { DWORD LowPart; LONG HighPart; }; struct { DWORD LowPart; LONG HighPart; } u; LONGLONG Quad...
2019-03-27 00:12:38 465 1
原创 制作游戏修改器
本次教程从最基础的内容开始, 讲述如何去制作一个游戏修改器的全部过程, 从分析内存数据开始到破解器的开发等出发做起. 0x00: 使用工具 Cheat Engine 5.6.1 将要修改游戏 PlantsVsZombies.exe - 植物大战僵尸 修改器开发环境 MingW and gcc 注: ...
2019-03-27 00:10:07 14936 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人