Windows开发相关简记二:exe和dll双形态
启动流程 BasicEntry 作为dll导出接口 PrepareEnv 先构建运行时 ntdll.dll kernel32.dll 获取当前dll句柄 EXE被当做DLL加载时,首先修复重定位数据,此时的全局变量等还无法访问 因为Windows操作系统不会修复当做DLL加载的E...
启动流程 BasicEntry 作为dll导出接口 PrepareEnv 先构建运行时 ntdll.dll kernel32.dll 获取当前dll句柄 EXE被当做DLL加载时,首先修复重定位数据,此时的全局变量等还无法访问 因为Windows操作系统不会修复当做DLL加载的E...
关键段 概述 critical section是一小段代码,它在执行之前需要独占对一些共享资源的访问权。 这种方式可以让多行代码以“原子方式”来对资源进行操控。 这里的原子方式,是指除了当前线程之外,没有其他任何线程会同时访问该资源。 当然,系统仍然可以暂停当前线程去调度其他线程...
睡眠函数 函数sleep让进程睡眠seconds秒,函数usleep让进程睡眠usec微秒。 sleep睡眠函数内部是用信号机制进行处理的 用到的函数有 示例 时钟处理 Linux为每个进程维护3个计时器,分别是真实计时器、虚拟计时器和实用计时器。 真实计时器计算的是程序运行的实...
TCP/IP通信案例 HTTP代理服务器的工作原理 在HTTP通信链上,客户端和目标服务器之间通常存在某些中转代理服务器,它们提供对目标资源的中转访问。 一个HTTP请求可能被多个代理服务器转发,后面的服务器称为前面服务器的上游服务器。 代理服务器按照其使用方式和作用,分为正向代...
信号 概述 /usr/include/ 信号是进程间通信(IPC)的一种简单机制 信号提供了一种向进程传递通知和信息的方式,以便进程可以相应地做出反应 信号类型 SIGINT:当用户按下CTRL-C时,通常发送这个信号来中断进程 SIGTERM:用于正常终止进程,是kill命令的...
ETW(Event Tracing for Windows) 概述 ETW是Windows提供的高性能内核级事件追踪机制,能够以极低开销(通常<5% CPU)实时捕获系统和应用程序事件 ETW架构核心组件 事件生产者 内核级 系统组件(如进程管理器、TCP/IP协议栈) 用...
进程地址空间 概述 Windows 进程地址空间和 Linux 一样采用虚拟地址空间,每个进程有独立的虚拟地址空间,由 Windows 内核和硬件 MMU 联合管理 核心区别在于: Windows 使用 PE(Portable Executable)格式代替 ELF 使用 Hea...
异常的产生 CPU执行程序汇编代码时,发现了异常,然后把异常告诉了操作系统。 操作系统首先会让程序自身处理这个异常。 如果程序自身有能力处理,程序就继续运行。 有能力是值程序中有注册的异常处理函数。 如果程序没能力处理,这个异常还没被处理,操作系统就会来处理,操作系统就会提示用户...
reconfig 功能说明:转换配置文件。 语 法:reconfig [Xconfig] XF86Config 补充说明:reconfig指令能将XFree86 3.1及以前的版本的配置文件,转成新的格式。现今的配置文件XF86Config,存放在/etc或/etc/X11目录...
概述 网络程序需要处理的第三类事件是定时器事件,比如定期检测一个客户连接的活动状态。 服务器程序通常管理着众多定时事件,因此有效地组织这些定时事件,使之能在预期的时间点被触发且不影响服务器的主要逻辑,对于服务器的性能有着至关重要的影响。 为此,需要将每个定时事件分别封装成定时器,...
搜索当前分类