10 2022 档案

摘要:文章目录 导出表导出表的结构体解析寻找导出表的地址代码解析导出表 可选NT头的结构体中存储着ExportTable(导出表)和 Import Table(导入表) 导出表 什么是导出表? 在我们写的DLL或者EXE导出的函数,会在程序运行时,把这个API加载入程序的运行内存中。 导出表记录了我们加载 阅读全文
posted @ 2022-10-31 23:44 hugeYlh 阅读(183) 评论(0) 推荐(0) 编辑
摘要:文章目录 RVA与FOA区段表RVA到FOA的转换 RVA与FOA VA: 虚拟内存地址(Virtual Address)PE 文件被操作系统加载进内存后的地址。 RVA: 程序在内存中的偏移地址(Relative Virual Address) PE文件的相对虚拟地址是PE文件中的数据、模块等运行 阅读全文
posted @ 2022-10-30 22:40 hugeYlh 阅读(281) 评论(0) 推荐(0) 编辑
摘要:文章目录 DOS头NT头标准NT头可选NT头 什么是PE文件? PE文件是在windows平台可执行的文件。 包括:.exe(可执行程序),dll(动态链接库).sys(驱动程序) 这是PE文件的基本结构: DOS头 Dos头是PE文件的起始位置,它 typedef struct _IMAGE_DO 阅读全文
posted @ 2022-10-30 21:43 hugeYlh 阅读(140) 评论(0) 推荐(0) 编辑
摘要:文章目录 IOCP模型常用IOCP函数 基于IOCP的网络聊天室服务器端客户端 IOCP模型 IOCP :输入输出完成端口。 是支持多个同时发生的异步I/O操作的应用程序编程接口,IOCP特别适合C/S模式网络服务器端模型。 因为,让每一个socket有一个线程负责同步(阻塞)数据处理,one-th 阅读全文
posted @ 2022-10-27 13:11 hugeYlh 阅读(64) 评论(0) 推荐(0) 编辑
摘要:文章目录 一个简单的网络聊天室服务器端代码 客户端代码 一个简单的网络聊天室 运行如下: 只是实现了一个简单的通信功能,下一节我们再来讨论的IO/CP模型 服务器端 初始化网络环境 int WSAAPI WSAStartup( [in] WORD wVersionRequested, //windo 阅读全文
posted @ 2022-10-26 18:30 hugeYlh 阅读(53) 评论(0) 推荐(0) 编辑
摘要:文章目录 异步IO设备内核对象事件内核对象可警醒IO完成端口IO 异步IO 当我们读取一个文件时,一般情况下,线程是阻塞的,也就是说,当前线程在等待文件读取操作结束,这种方式叫同步IO。 Windows在系统底层为用户实现了另外一种高效的机制,叫重叠I/O,又称作异步I/O。 异步I/O提供了这样一 阅读全文
posted @ 2022-10-24 19:55 hugeYlh 阅读(331) 评论(0) 推荐(0) 编辑
摘要:文章目录 线程创建一个最简单的线程线程状态线程常见API线程与时间戳 线程同步问题问题导入方式一: 原子操作方式二:临界区方式三:互斥体方式四:事件处理方式五:信号量 线程 进程是操作系统分配资源的单位。 线程是执行任务的单元。 一个进程至少有一个线程。 线程还可以创建线程,不过每一个线程都是独立的 阅读全文
posted @ 2022-10-22 22:35 hugeYlh 阅读(38) 评论(0) 推荐(0) 编辑
摘要:文章目录 信号与槽绑定信号与槽简单案例:按钮的点击自定义槽函数自定义信号信号和槽重载二义性问题解决方案 案例: 实现两个窗口间的切换 信号与槽 所谓信号槽,实际就是观察者模式(发布-订阅模式)。 当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有 阅读全文
posted @ 2022-10-21 13:31 hugeYlh 阅读(229) 评论(0) 推荐(0) 编辑
摘要:文章目录 QT最简单的窗口窗口效果 QT最简单的窗口 main头文件: #include <QApplication> #include "Widget.h" #include <QDebug> int main(int argc, char* argv[]) { QApplication a(ar 阅读全文
posted @ 2022-10-21 11:55 hugeYlh 阅读(40) 评论(0) 推荐(0) 编辑
摘要:文章目录 实现双方通信的两种方式进程间通信接收端发送端 邮槽的发送与接收接收端发送端 实现双方通信的两种方式 进程间通信 每个进程都有自己独立的4G内存空间,彼此是不能直接互相访问的。如果需要进行通信则需要使用一些方法: 1、WM_COPYDATA方式。 WM_COPYDATA是一个特殊的,专门用于 阅读全文
posted @ 2022-10-21 00:02 hugeYlh 阅读(32) 评论(0) 推荐(0) 编辑
摘要:文章目录 动态链接库导出显式导出隐式导出 动态链接库导入显式导入隐式导入 动态链接库英文DLL,是Dynamic Link Libarary的缩写。 Dll中包含若干公用的代码、数据等,可供其他模块(DLL或exe文件等)使用。 Dll中并不是所有的函数都必须供其他模块使用,只有经过 导出(expo 阅读全文
posted @ 2022-10-19 23:31 hugeYlh 阅读(115) 评论(0) 推荐(0) 编辑
摘要:windows文件操作 函数名称功能DeleteFile删除指定文件CopyFile复制文件CreateFile新建或打开一个文件,并返回句柄MoveFile移动文件ReadFile读取文件WriteFile向文件写入内容GetFileSize获取文件大小CreateDirectory创建目录Get 阅读全文
posted @ 2022-10-18 23:50 hugeYlh 阅读(61) 评论(0) 推荐(0) 编辑
摘要:文章目录 内联汇编行内联汇编块内联汇编裸函数 内联汇编 行内联汇编 _asm pushad _asm mov eax,0x12345678; 块内联汇编 _asm { Pushad; Popad; } 尝试用内联汇编弹出一个提示框: MessageBoxA(0,0,0,0); char str[] 阅读全文
posted @ 2022-10-17 20:59 hugeYlh 阅读(20) 评论(0) 推荐(0) 编辑
摘要:文章目录 MOVS 指令STOS 指令REPDF标志 MOVS 指令 MOVS 内存[EDI],内存[ESI] 将ESI地址中的值移动到EDI指向的地址中,每次移动X字节,同时 esi、edi增加x MOVS BYTE PTR ES:[EDI],BYTE PTR ES:[ESI] == 简写:MOV 阅读全文
posted @ 2022-10-13 23:15 hugeYlh 阅读(149) 评论(0) 推荐(0) 编辑
摘要:文章目录 windows系统内核对象的创建方式内核对象特性进程与模块进程相关操作 获取应用进程遍历所有进程遍历所有模块遍历所有线程 windows系统 windows系统是C语言编写的,但是它是一个面向对象的操作系统。 Windows一个个的对象,本质上都是结构体变量,windows系统不希望程序员 阅读全文
posted @ 2022-10-12 21:46 hugeYlh 阅读(93) 评论(0) 推荐(0) 编辑
摘要:文章目录 非模态对话框模态对话框非模态对话框里控件的使用按钮复选框滑块与进度条列表框插入列插入行其他功能 非模态对话框 CreateDiaLog:创建一个非模态对话框。 ShowWindow:显示此对话框 int WINAPI WinMain( HINSTANCE hInstance, HINSTA 阅读全文
posted @ 2022-10-10 22:56 hugeYlh 阅读(144) 评论(0) 推荐(0) 编辑
摘要:文章目录 括号表示法创建二叉树存储结构释放二叉树的空间求树的高度求树的节点个数求树的所有叶子节点个数括号表示法输出树结构完整测试 typedef char ElementType; #define MAX_SIZE 20 typedef struct BookTreeNode { ElementTy 阅读全文
posted @ 2022-10-08 20:56 hugeYlh 阅读(66) 评论(0) 推荐(0) 编辑
摘要:文章目录 基本控件的使用标准控件的创建移动按钮获取文本框的内容自动设置文本框内容设置父窗口枚举出所有窗口 测试代码 基本控件的使用 标准控件的创建 在我们创建窗口并且在CREATE的时候创建。 case WM_CREATE: CreateWindowW(WC_BUTTON, L"移动按钮", WS_ 阅读全文
posted @ 2022-10-07 20:31 hugeYlh 阅读(104) 评论(0) 推荐(0) 编辑
摘要:文章目录 WINDOW控件Windows标准控件Windows通用控件 标准控件按钮的点击 完整代码 WINDOW控件 什么是控件? 控件是常见的窗口上的交互元素例如:一个按钮,一个复选框,一个列表框等。当控件的特定功能被触发后,会主动发送消息通知父窗口,父窗口可以通过发送消息给控件控制控件的行为。 阅读全文
posted @ 2022-10-06 20:52 hugeYlh 阅读(33) 评论(0) 推荐(0) 编辑
摘要:文章目录 第一个Windows窗口程序1. 入口函数2. 创建窗口类3. 注册窗口4. 创建窗口实例5. 处理消息事件6. 回调函数完整测试 Windows消息处理 第一个Windows窗口程序 1. 入口函数 Windows编程的入口函数: 建议直接F1查询官方文档,Ctrl C+V int WI 阅读全文
posted @ 2022-10-05 20:08 hugeYlh 阅读(40) 评论(0) 推荐(0) 编辑
摘要:文章目录 window编程基本概念Windows常见的数据类型字符串的处理 第一个windows程序的编写 window编程基本概念 Windows编程的本质就是使用好操作系统,想要用好操作系统必不可少的秘籍 MSDN。 Windows编程主要分为两种: 1、控制台编程(CUI) 2、图形界面编程( 阅读全文
posted @ 2022-10-04 21:00 hugeYlh 阅读(130) 评论(0) 推荐(0) 编辑
摘要:文章目录 模板与泛型为什么要使用模板?函数模板定义格式函数模板调用函数模板和普通函数 类模板单个类模板语法继承中的类模板——类模板派生普通类继承中的类模板——类模板派生模板模板特化函数模板特化类模板特化 模板与泛型 泛型编程是指独立与任何类型的方式编写代码。泛型编程和面向对象编程,都依赖与某种形式的 阅读全文
posted @ 2022-10-03 20:24 hugeYlh 阅读(178) 评论(0) 推荐(0) 编辑
摘要:文章目录 异常处理除数为0内存分配异常异常传递过程处理自定义异常: 异常处理 除数为0 我们通过一个简单的例子来引入 例如: int divide1(int v1, int v2) throw(int) { return v1 / v2; } 我们有一个简单的除法函数,计算所得的结果是多少,我们可以 阅读全文
posted @ 2022-10-02 16:25 hugeYlh 阅读(27) 评论(0) 推荐(0) 编辑
摘要:文章目录 operator+/- 的操作及注意operator+= 的操作及注意++自增操作输入输出重载其他重载==和!=[] () 运算符..... 完整操作 我们以一个类作为示例来说明: class Point{ public: Point() = default; Point(const in 阅读全文
posted @ 2022-10-01 21:49 hugeYlh 阅读(30) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示