sdk

sdk软件开发工具包(缩写:SDK、外语全称:Software Development Kit一般都是一些软件工程师为特定的软件包软件框架硬件平台、操作系统等建立应用软件时的开发工具的集合。 [1] 

软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合

软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的 SDK。它可以简单的为某个程序设计语言提供应用程序接口 API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

 

SDK概念介绍

 

SDK(software development kit) -- windows提供给开发者使用的库函数以及相关帮助文档

api(application programming interface) -- 应用程序编程接口,windows封装提供的一组功能 函数

内核对象的数据结构只能被内核访问,因此应用程序无法在内存中找到这些数据结构并直接改变它们的内容。Microsoft 规定了这个限制条件,目的是为了确保内核对象结构保持状态的一致。这个限制也使Microsoft能够在不破坏任何应用程序的情况下在这些结构中添加、 删除和修改数据成员。

当调用一个用于创建内核对象的函数时,该函数就返回一个用于标识该对象的句柄

用户和内核模式

用户64k - 0x7fffffff  

内核模式0x80000000 - 0xffffffff

Windows 是消息驱动的操作系统

进程:跑起来的程序叫做进程,一个进程有多个线程

进程于进程之间相互隔离

线程是操作系统能够进行运算调度的最小单位

线程在共享内存空间运行,而进程在不同的内存空间中运行

 

系统知道输入什么时候来,不知道怎么处理,应用知道如何处理输入,但是不知道什么时候来如何做 使得应用在输入来的时候进行处理? 使用回调函数

 

控制台与SDK的区别

SDK是多任务,控制台是单任务 入口函数不同 链接选项不同,

SDK/SUBSYSTEM:WINDOWS,   控制台的是/SUBSYSTEM:CONSOLE

hInstance,实例句柄,代表应用成本身,实际上是可执行文件在内存中的首地址

一般位置在0x00400000

 

int _stdcall wWinMain(_In_ HINSTANCE hInstance, //

                     _In_opt_ HINSTANCE hPrevInstance,

                     _In_ LPWSTR    lpCmdLine,

                     _In_ int       nCmdShow

)

第一个参数hInstance表示该程序当前运行的实例的句柄,

第二个参数hPrevInstance回调函数 上一个实例句柄

第三个参数lpCmdLine是一个以空终止的字符串,指定传递给应用程序的命令行参数。

第四个参数nCmdShow指定程序的窗口应该如何显示,例如最大化、最小化、隐藏等。这个参数的值由该程序的调用者所指定,应用程序通常不需要去理会这个参数的值。

Windows平台的消息机制也可以看作是回调的一种应用,我们通过系统提供的接口注册消息处理函数(即回调函数),从而实现接收、处理消息的目的。

 

int MessageBox(

 HWND hWnd, // handle to owner window 句柄(可以填空)

 LPCTSTR lpText, // text in message box 盒子消息

LPCTSTR lpCaption, // message box title盒子标题

 UINT uType     // message box style盒子按钮风格 yes no取消之类

);

 

 

创建一个窗口的六要素

设计注册窗口类

创建窗口示例

显示窗口

更新窗口

实现消息循环

实现窗口回调

 

posted @ 2020-09-04 14:11  特权E5  阅读(835)  评论(0编辑  收藏  举报