ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:294.59KB ,
资源ID:19211872      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19211872.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(精通WindowsAPI学习笔记Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

精通WindowsAPI学习笔记Word文档下载推荐.docx

1、 CHAR lpString120; /定义DWORD类型的数据 DWORD dwMax =0xFFFFFFFF; DWORD dwOne =0x1; /定义INT类型的数据 INT iMax = 0xFFFFFFFF; INT iOne = 0x1; /显示字符串 MessageBox(NULL,szString,LPSTR /复制内存 CopyMemory(lpString,szString,lstrlen(szString)+1); /显示复制的字符串 MessageBox(NULL,lpString,CHAR if (dwMaxdwOne) MessageBox(NULL,DWORD类

2、型的数据xFFFFFFFF 0x1DWORD if (iMaxINT return 0; 这些Windows数据类型都是从标准C数据类型经过类型重定义而来。BOOL 布尔型变量,值只能是true或falseBYTE 字节类型,8位CHAR 8比特字节,ANSICONST 常量,相当于标准C中的const关键字DWORD 32字节无符号整型数据DWORD32 32字节无符号整型数据DWORD64 64字节无符号整型数据FLOAT 浮点数据类型HANDLE 对象的句柄,最基本的句柄类型HICON 图标的句柄HINSTANCE 程序实例的句柄HKEY 注册表键的句柄HMODULE 模块的句柄HWND

3、 窗口的句柄INT 32位符号整型数据类型INT_PTR 指向INT类型数据的指针类型INT32 32位符号整型INT64 64位符号整型LONG 32位符号整型,相当于C语言的标准数据类型longLONGLONG 64位符号整型LONG32 32位符号整型LONG64 64位符号整型LPARAM 消息的L参数WPARAM 消息的W参数LPCSTR Windows,ANSI,字符串常量LPCTSTR 根据环境配置,如果定义了UNICODE宏,则是LPCWSTR类型,否则是LPCSTR类型LPCWSTR UNICODE字符串常量LPDWORD 指向DWORD类型数据的指针LPSTR Window

4、,ANSI,字符串变量LPTSTR 根据环境配置,如果定义了UNICODE,则是LPWSTR类型,否则是LPSTR类型LPWSTR UNICODE字符串变量SHORT 无符号短整型,16位SIZE_T 表示内存大小,以字节为单位,其最大值是CPU最大寻址范围TCHAR 如果定义了UNICODE,则为WCHAR,否则为CHARUCHAR 无符号CAHRUNIT 无符号INTULONG 无符号LONGVOID 无类型,相当于标准C语言的VoidWCHAR 16位Unicode字符WINAPI Windows API的函数类型调用方式,常见于SDK头文件中对API函数的声明中,相当于_stdcall

5、,更严格地说,这不是数据类型,而是一种函数调用约定。WORD 16位无符号整型数据2.Unicode和ASINUnicode是世界通用的字符编码标准,使用16位数据表示一个字符,一共可以表示65535种字符。ASNI字符集,使用8位数据或将相邻的两个8位的数据组合在一起表示特殊的语言字符。如果一个字节是负数,则将其后续的一个字节组合在一起表示一个字符。这种编码方式的字符集也称作“多字节”字符集。第三章 开发工具配置与使用1.编译链接重要作用文件VC/bin:c1.exe 、link.exe 、lib.exe、rc.exeVC/Include:stdlib.h、stdio.hVC/lib:c1.

6、exe:文件时Visual CC+的编译器,它将程序源代码文件编译为obj文件。rc.exe:文件时资源编译器。工程项目中的.rc文件中包含了对程序中所使用资源,菜单和图标等的描述。Rc.exe将.rc格式的文件编译为.res文件,供链接器链接到可执行文件中。Link.exe:是Windows平台的链接器,它将c1.exe编译生成的obj文件,资源编译器生成的.res文件,以及lib目录下的lib文件等链接成可执行的exe文件、dll文件等。2.编译选项【1】常规Additional Include Directories/AI指定包含目录。Resole #using ReferencesDe

7、bug Information Format/Z7/Zi/ZI生成调试信息,分别表示三种不同的调试符号文件格式。Suppress Startup Banner/nologo取消显示登录版权标志。Warning Level/Wn设置警告级别。Detect 64-bit Portability Issues/Wp64检测64位可移植性问题。Treat Warnings As Errors/WX将所有编译讲稿视为错误。Use UNICODE Response Files【2】与程序优化有关的编译选项Optimization/O1/O2/Od/O1表示代码体积;最小/O2代码速度最快;/Od不使用优化

8、。Inline Function Expansion/Ob1/Ob2控制内联函数展开。/Ob1表示适用于_inline的情况;/Ob2表示使用于所有情况。Enable Intrinsic Functions/Oi生成内部函数。Favor Size or Speed/Os/Ot/Os代码大小优先;/Ot代码速度优先。Omit Frame Pointers/Oy省略帧指针(仅限x86)。Enable Fiber-safe Optimizations/GL启用全程序优化。Whole Program Optimization/GT支持使用静态线程本地存储区分配的数据和线程安全。【3】与预处理有关Pre

9、processor Definitions/D定义常量和宏。可以将此符号与#i或#ifdef一起使用,以便有条件地编译源文件。在源文件中遇到重定义或用#undef的指令取消定义符号之前,符号定义保持有效。与在源文件的开头使用#define指令的效果基本相同。Ignore Standard Include Path/X忽略标准包含目录Generater Preprocessed File/P /EP/P将预处理器输出写入文件/EP将预处理器输出复制到标准输出Keep Comments/C在预处理期间保留注释【4】与代码生成有关的编译选项Enable String Pooling/GF启用字符串池

10、Enable Minimal Rebuild/GM启用最小重新生成Enable C+ Exceptions/EH指定异常处理模型/EH:a表示捕获异步(结构化)异常并通知编译器假定Extern C函数确实引发了异常的异常处理模型。s不捕获异步异常并通知编译器假定Extern C函数确实引发了异常的异常处理模型。c如果与a一起使用,则为捕获异步异常的异常处理模型,如果与s一起使用,则为不捕获异步异常的异常处理模型。在这两种情况下,c通知编译器假定Extern C函数从不引发异常Smaller Type Check/RTCcBasic Runtime Checks/RTCsRuntime Libr

11、ary/MT/MD指使用MSVCRT.lib创建多线程DLL;/MDd使用MSVCRTD.lib创建调试多线程DLL;/MT使用LIBCMT.lib创建多线程可执行文件;/MTd使用LIBCMTD.lib创建多线程可执行文件Struct Member Alignment/Zp结构成员对齐,以字节为单位。Buffer Security Check/Gs控制堆栈探测Enable Function-Level Linking/Gy启动函数级链接Enable EnhancedInstruction Set/arch使用SSE或SSE2指令生成代码,对程序进行优化(仅限X86)Floating Poin

12、t Model/fp指定浮点行为Enable Floating Point Exceptions【5】与语言相关Disable Language Extensions/Za禁用微软语言扩展和启动微软语言扩展/Za将与标准C+或标准C不兼容的语言构造标志位错误。/Ze则启用微软语言扩展。Default Char Unsigned/J更改默认的char类型Treat wchar_t as Built-in Type/ZcForce Confirmance In For Loop Scope/Enable Run-Time Type Info/GR启用运行时类型信息OpenMP Support/op

13、enmp在源代码中启用#pragma omp【6】Create/Use Precompiles HeaderCreate/Use PCH Through FilePrecompiles Header File【7】与输出文件有关Expand Attributed Source/FxAssembler Output/FAASM List LocationObject File NameProgram Database File NameGeneral XML Documentation Files/docXML Documentation File Name【8】Enable Browse In

14、formation/FR /Fr生成浏览器文件Browse File【9】Calling ConventionGd Gr GzCompile As/TpDisable Specific WarningsForce IncludesForce #usingShow Includes/Show Includes在编译期间显示所有包含文件的列表Undefine Preprocessor Definition/U移除预定义宏Undefine All Preprocessor Definitions/u移除所有的预定义宏Enable Code Analysis For C/C+/analyze启用代码分

15、析Use Full Paths/FCOmit Default Library Names/ZI从obj文件中移除默认库名Error ReportingFxAssemble OutputGenerate XML Documentation Files3.链接器是将对象文件和库链接起来以创建可执行程序文件或动态链接库文件的工具。输入文件包括obj文件、lib文件、exp文件、def文件、res文件、txt文件/ilk文件;输出文件是exe文件、lib文件、sys文件等可执行文件。指定响应文件/ALIGN指定每一节的对齐方式/ALIGN:numberNumner参数以字节为单位,并且必须是2的整数次

16、幂,如512/1024等。默认是2的12如果要修改特定节的对齐,使用/SECTION选项。/ALLOWBIND指定DLL不能绑定,生成DLL时有效/ALLOWBIND:NO在DL的头中设置一个位,向Bind.exe指示不允许绑定Image/ALLOWISOLATION指定清单查找的行为NO说明像没有清单一样加载DLL指明加载DLL时进行清单查找,默认此/BASE为程序设置基址选项第四章 文件系统1.磁盘分区 磁盘时装到计算机上的存储设备,比如常见的硬盘。磁盘分区是为了便于管理和使用物理硬盘,而在一个物理硬盘上划分可以各自独立工作的一些逻辑磁盘,比如一块80G的硬盘可以划分为4个20G的分区来使

17、用,对操作系统来说这4个20GB的分区是4块独立的逻辑硬盘。2.卷 卷,也称为逻辑驱动器,是NTFS、FAT32等文件系统组织结构的最高层。卷是存储设置(如硬盘)上由文件系统管理的一块区域,是在逻辑上相互隔离的存储单元。一个磁盘分区至少含有一个卷,卷也可以存在于多个磁盘分区上,仅存在于一个磁盘分区上的卷称“简单卷”,仅存在多个磁盘分区上的卷称为“多分区卷”或“跨区卷”。在最常见的情况下,一个分区只包含一个卷,一个卷也只存在于一个分区上,所以两者容易混淆。卷存在卷标,程序可以通过卷标访问卷。3.磁盘和驱动器管理类APIAPI功能简介GetLogicalDrives获取主机中所有的逻辑驱动器,以B

18、it Map的形式返回GetLogicalDriveStrings获取主机中所有的逻辑驱动器,以驱动器根路径字符串返回。FindFirstVolume查找主机中的第一个驱动器,返回查找句柄。FindNextVolume根据FindFirstValume返回的句柄,查找主机中后继的逻辑驱动器。FindVolumeClose关闭驱动器查找句柄。GetDriveType获取驱动器类型GetVolumeInfomation获取逻辑驱动器信息。FindFirstVolumeMountPoint查找指定卷的第一个挂载点,返回查找句柄。FindNextVolumeMountPoint根据上面返回的句柄,查找

19、卷的后继挂载点FindVolumeMountPointClose关闭挂载点查找句柄。GetVolumeNameForVolumeMountPoint根据指定的挂载点获取相应的卷设备名SetVolumeMountPoint将指定卷挂载到指定挂载点处GetDiskFreeSpace获取磁盘空间信息,包括每簇的扇区数、每扇区的字节数、簇数量、空闲的簇数量。GetDiskFreeSpaceEx获取用户可用的空闲空间的字节数、磁盘总容量的字节数4.文件和目录管理DeleteFile删除参数所指定文件CopyFile复制指定文件为一个新文件MoveFile将指定文件或目录移动到指定位置CreateFile

20、新建或打开一个文件,获取文件句柄ReadFile读取由文件句柄指定的文件的内容WriteFile向由文件句柄指定的文件中写入内容GetFileSize获取文件大小,返回DWORD中;大小超出DWORD最大值时刻指定高32位DWORD联合存储GetFileSizeEx获取文件大小,存储到一个64位的大整数联合体中CreateDirectory创建一个目录GetCurrentDirectory获取当前程序所在目录SetCurrentDirectory设置当前程序所在目录GetModuleFileName获取当前模块全路径FindFirstFile查找指定目录下第一个文件或目录,获得查找句柄Find

21、NextFile根据上面获得句柄,循环查找文件和目录GetFileAttributes获得指定文件或目录的属性,返回一个DWORD值GetFileAttributesEx获得指定文件或目录属性,存储在WIN32_FILE_ATTRIBUTE_DATA结构体中SetFileAttributes将文件属性设定为指定值FileTimeToLocalFileTime将文件时间转换为本地时间FileTimeToSystemTime将文件时间转换为系统时间。SYSTEMTIME格式,便于显示。5.高级文件系统操作CreateFileMapping创建文件的映射对象MapViewOfFile创建视图,将创建

22、的文件映射到当前进程的地址空间中FlushViewOfFile将视图中数据都写入磁盘,对视图的操作都会反映到磁盘上的文件中。OpenFileMapping打开已经存在的命名的文件映射对象UnMapViewOfFile取消文件映射GetMappedFileName从映射对象获取被映射文件的文件设备名QueryDosDevice获取MS-DOS设备名第五章 内存管理1.内存内存主要存储程序运行时所需的机器代码、数据等内容。2.Windows内存管理原理 数据是存储于内存中的,为了能够找到存在于内存中的数据,开发人员需要知道数据所在的内存地址。 内存的最小存储单元是字节,内存中的每一个字节都有一个地

23、址。在32位系统上,使用32位的数来表示内存地址,因此一共可以表达232个字节。3.地址空间 系统中所有可用的内存地址的集合称为地址空间,比如,如果可以使用4GB的内存,那么地址空间就是0x000000000xFFFFFFF。?4.物理内存 硬盘系统中真实存在的存储空间称为物理内存,物理内存的访问通过硬件系统总线进行的。但是不是每一台32位的机器都具有4GB的物理地址空间,因此物理地址空间不一定是0x000000000xFFFFFFFF,比如在物理内存未1GB的系统上,就可能只有0x000000000x3FFFFFFF的地址可以使用。5.虚拟地址空间 为了访问内存的统一和方便,操作系统允许其上

24、运行的程序访问所有的4GB的内存空间中的地址。因此操作系统必须进行一些必要的地址转换工作,将程序访问的地址转换为物理内存中的真实物理地址,然后进行数据的存取。操作系统进行转换后,供程序使用的地址空间称为虚拟地址空间。在32位系统上,可以使用的虚拟地址空间大小是4GB。 当然由于虚拟地址空间可能比真实物理地址空间大,系统会将部分虚拟地址空间中的地址转换为硬盘的数据,在必要时将物理内存中的数据与硬盘中的数据进行交换。 这种地址转换和数据交换是通过分页和分段机制实现的。6.进程的内存空间:用户内存空间与内核内存空间 Windows操作系统中的每个进程都有属于自己虚拟地址空间。32位的Window操作系统将4GB(64位系统上,这个值达到了8TB)的虚拟内存划分为两部分,进程使用2GB,称为用户进程空间,内核使用2GB,称为系统地址空间或内核地址空间(也可3:1)用户空间的地址范围为0x000000000x7FFFFFFF,内核空间的地址范围为0x800000000xFFFFFFF。虚拟地址空间在进程上时封闭的,进程只能访问属于自己的地址空间,如果要访问其他进程的地址空间需要特殊的机制。分段与分页内存管理物理地址与虚拟地址、虚拟地址空间虚拟内存布局,内存的分工,堆与栈内存的存取权限标准C内存管理函数与Windows内存管理API的关系

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1