Windows 核心编程 _ 进程四
创建进程:CreateProcess 函数原型 进程创建过程 一个线程调用这个CreateProcess时,系统将创建一个进程内核对象,初始使用计数为1。 进程内核对象不是这个进程本身,而是一个操作系统用来操作这个进程的一个小型数据结构。 然后,系统为新进程创建一个虚拟地址空间,...
创建进程:CreateProcess 函数原型 进程创建过程 一个线程调用这个CreateProcess时,系统将创建一个进程内核对象,初始使用计数为1。 进程内核对象不是这个进程本身,而是一个操作系统用来操作这个进程的一个小型数据结构。 然后,系统为新进程创建一个虚拟地址空间,...
spy++相关 使用 打开spy++ 查找窗口 把小圆圈拖动到目标窗口上,比如按钮等等 并且在下面选择消息 在消息窗口查看日志 具体信息看下发示例 示例行为 使用spy++监听了某个窗口上的一个Button的消息 然后移动鼠标到Button上 然后用鼠标左键点击该Button 日...
字节 char char是c++里面基本的字符类型,通常用来表示单个字节 这大多数现代系统中,一个char占用1个字节,1个字节是8个位 char可以用来表示ascii字符集中的字符,其中每个字符都可以用一个字节来表示 ascii编码覆盖了英文字母、数字和一些基本的符号 但是在全...
About 获取macOS系统软件的自动更新相关开关 plist文件 需要注意的是,有些字段一开始是没有的,只有当对应功能启用后,才会生成相关字段 在取不到字段的时候,可以标记对应功能为未生效状态 另外,用Xcode打开这个plit文件时,能看到root,实际上预览这个plist...
概述 Linux服务器程序必须处理三类事件: I/O事件 信号 定时事件 在处理这三类事件时通常需要考虑三个问题: 统一事件源 可移植性 对并发编程的支持 I/O框架概述 I/O框架库以库函数的形式,封装了较为底层的系统调用,给应用程序提供了一组方便使用的接口 这些库函数往往比程...
通用 配置符号路径 目的 让WinDbg能够将内存地址翻译成可读的函数名,否则调用栈全是地址,无法分析 命令 识别 Dump 类型和架构 目的 确定是什么类型的dump(full dump? mini dump?) 32位还是64位程序 操作系统版本 是否是WOW64(64位系统...
Windows 日志 可以通过现有日志来观察 当不方便附加进程时,可以通过写文件的方法写日志 Visual Studio 附加到进程 CLion 附加到进程 windbg Linux 日志 应用程序日志 var/log/ 当不方便附加进程时,可以通过写文件的方法写日志 gdb l...
TCP特点 面向连接 字节流 可靠传输 关于TCP 使用TCP通信的双方必须先建立连接,然后才能开始数据的读写。 双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。 TCP连接是全双工的,双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须...
Slim读写锁 概述 目的和关键段一样,对一个资源进行保护,不让其他线程访问它。 和关键段不同的是,SRWLock允许我们区分那些想要读取资源的值的线程(读取者线程)以及想要更新资源的值的线程(写入者线程) 关于读写锁的功能 让所有的读取者线程同一时刻访问共享资源应该是可行的,因...
函数 InterlockedIncrement 概述 这两个函数是 Windows 平台上进行线程安全原子操作的核心工具,用于实现高效的无锁多线程编程 特性 原子性:CPU 硬件保证操作的不可分割性 无锁:无需传统互斥锁(mutex),性能更高 内存屏障:隐含完整的读-写内存屏障...
搜索当前分类