动态链接库DLL
摘要:1、Windows应用程序编程接口提供的所有函数都包含在DLL中,三个重要DLL: Kernel32.dll:包含的函数用来管理内存、进程和线程; User32.dll:包含的函数用来执行与用户界面相关的任务,如创建窗口和发送消息; GDI32.dll:包含的函数用来绘制图像和显示文字。 2、如果编
阅读全文
posted @
2019-11-28 20:48
Noora&w
阅读(223)
推荐(0)
异常处理
摘要:1、结构化异常处理SEH功能:终止处理、异常处理 2、终止处理程序确保不管被保护代码是如何退出的,终止处理程序都会调用和执行(除非调用ExitProcess、ExitThread、TerminateProcess、TerminateThread),语法: __try{ //Guarded body
阅读全文
posted @
2019-11-26 10:10
Noora&w
阅读(173)
推荐(0)
内存
摘要:1、每个进程都有自己的虚拟地址空间。32位进程的虚拟地址空间为4GB,64位进程为16EB。正常读/写数据需要把物理存储器分配或映射到相应的地址空间,否则会导致访问违规。 2、空指针赋值分区:0X00000000到0X0000FFFF的进程地址空间,进程中的线程试图读取或写入位于这一分区内的内存地址
阅读全文
posted @
2019-10-29 20:59
Noora&w
阅读(143)
推荐(0)
线程同步
摘要:用户模式下的线程同步 1、原子访问:一个线程在访问某个资源的同时能够保证没有其他线程在同一时刻访问同一资源 Interlocked系列函数能实现原子访问。Interlocked系列函数能保证对值的修改是以原子方式进行的,且执行的极快,因为他们不需要在用户模式和内核模式之间进行切换 缺点:只能对一个值
阅读全文
posted @
2019-09-30 21:52
Noora&w
阅读(170)
推荐(0)
线程基础、线程调度
摘要:1、线程的两个组成部分:线程的内核对象(管理线程和使用计数)、线程栈(用于维护线程执行时所需的函数参数和局部变量) 2、线程函数: 线程函数可以任意命名; 线程函数只有一个参数; 线程函数必须返回一个值,它会成为该线程的退出代码; 线程函数应尽可能使用函数参数和局部变量; 3、线程终止运行时: 线程
阅读全文
posted @
2019-09-27 17:14
Noora&w
阅读(333)
推荐(0)
笔记摘录:进程、作业
摘要:第四章 进程 1、进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 1)一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。 2)另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。 2、
阅读全文
posted @
2019-09-25 21:17
Noora&w
阅读(170)
推荐(0)
笔记摘录:Unicode、内核对象
摘要:第一章 对程序错误的处理 1、若要确定是什么错误,请调用GetLastError函数:该函数从线程局部存储区获取32位错误代码。 2、Visual studio还配有一个小的实用程序称为Error Lookup,可以使用Error Lookup将错误代码的号码转换成相应文本描述。 3、Windows
阅读全文
posted @
2018-12-03 16:08
Noora&w
阅读(223)
推荐(0)