TianMu
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

Windows核心编程 读书笔记(2)

进/线程同步 用户模式下的线程同步可以理解为同一进程内的线程同步, 如果不涉及跨进程, 使用这些函数同步效率更高. 原子访问 Interlocked对标C++的atomic, 可以实现完全替代, C++atomic在windows上运行底层用的就是这个. 关键段 critical_section对标C++的mutex, 基本上完全替代, 除了critical_section可以通过E
2025-09-17
#WindowsAPI #Windows核心编程

Windows核心编程 读书笔记(1)

进程 线程 优先级 亲和性 GetCurrentDirectory获取当前进程所在目录路径. 1234DWORD GetCurrentDirectory( DWORD nBufferLength, // 缓冲区大小(字符数)[输出] LPTSTR lpBuffer // 接收路径的缓冲区); 返回值 : 成功:返回写入缓冲区的字符数(不包括终止空字符 \0)。 失败
2025-09-15
#WindowsAPI #Windows核心编程

Windows API 学习笔记(5) 注册表

注册表 初步理解注册表你可以理解为是一个缓存和配置的存储中心, 你可以在这里查到庞杂的信息, 系统信息, 硬件信息, 软件信息都可以查到. 本身是树形结构, 非叶节点都可视为键, 最顶端并列的几个键被视为根键, 叶节点则可视为值, 我们一般都是通过传入一连串键的路径来获取值. 当然注册表只是记录一些偏固定的键值, 一些常变动的数据还要老实用系统API去查. RegOpenKeyEx打开一个根键
2025-09-10
#WindowsAPI

Windows API 学习笔记(4) IOCP

IOCP高性能网络编程 初步理解IOCP(IO Completion Port), IO完成端口, 是可以将网络数据收发异步化的技术. 如果学过Linux的io_uring, 他们的内核思想很相近, 区别在于IOCP专注于网络编程和异步, 而io_uring更加全面, 可以处理并优化各种事务. 内核理解 首先想要使用IOCP, 需要通过CreateIoCompletionPort构造IOCP
2025-09-09
#WindowsAPI #IOCP

Windows API 学习笔记(3) 文件, 设备IO, 系统信息

文件, 设备IO, 系统信息 运行环境为vs2022 文件相关CreateFile打开/创建文件, 返回文件句柄, 可设置访问权限, 是否共享, 覆盖还是追加. 123456789HANDLE CreateFile( LPCSTR lpFileName, // 文件名/设备名 DWORD dwDesire
2025-09-08
#WindowsAPI

Windows API 学习笔记(2) 线程与内存管理

线程与内存管理 线程相关CreateThread / OpenThread通过这两个函数获取线程句柄. 前者可以用C++11的 thread 库代替. 后者传入对应的线程tid, 返回对应的线程句柄. 线程句柄的作用 使用TerminateThread直接终止线程. 使用WaitForSingleObject等待线程结束. 使用 SuspendThread/ResumeThrea
2025-09-07
#WindowsAPI #线程 #内存管理

Windows API 学习笔记(1) 类型和进程

学习目标 : 主要在于学习怎么用C/C++使用Windows操作系统, 不学界面, 只学底层, 比如内存管理, 线程, 系统信息调用, 网络编程相关. 类型和进程 Windows类型 Windows类型 等效C/C++类型 大小 用途 BYTE unsigned char 1字节 二进制数据、字节流 WORD unsigned short 2字节 16位无
2025-09-04
#WindowsAPI #进程

C++线程级异步

asyncasync做到的只是简单的线程级异步, 并非像boost:asio那样的内核级异步, 其优势大概也就是简单了. 因此只适合做一些简单的异步任务, 但是其功能和线程池重合, 如果使用了线程池就没有必要使用async了. 1234// 启动异步任务std::future<int> fut = std::async(compute, 10, 20);// 获取结果(会阻塞直到结果可
2025-09-03
#异步

C++编译链接模型精要

C编译链接系统 先来回顾C语言的编译流程 : 预处理 -> 编译 -> 汇编 -> 链接 Preprocessor 预处理 输入 .c / .cc 文件 输出 .i (intermediate 中间) 文件 工作 : 将include字段用对应的.h文件替换 替换define字段 处理条件编译 删除注释 Compiler 编译 输入 .i 文件 输出 .s
2025-08-10
#编译链接 #C++20模块

HTTP/3

生态分析TCP队头阻塞这是HTTP/2所拥有的根本性通病, 注意这里的队头阻塞不是指排队造成的阻塞, 而是指丢包造成的阻塞. TCP为了实现可靠有序, 采用了超时重传机制, 该机制可以确保可靠有序, 但是对于现代网络却有严重缺陷. TCP中如果发送出现丢包, 必须要依靠超时重传等到当前包再次发来, 后面的包才能生效, 即使已经发来了, 后面的包也不能及时处理和使用, 这是在内核中就强制决
2025-08-05
#HTTP
123…11

搜索

Hexo Fluid
总访问量 次 总访客数 人