`
rimoer
  • 浏览: 103412 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

什么是SDK

 
阅读更多




经常会在技术论坛里面看到类似这样的帖子:“什么是 SDK?”,“请高手讲一下 SDK 是什么东东?”……

其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。

呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。^_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。

首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。其实早在 DOS 时代就有 API 的概念,只不过那个时候的 API 是以中断调用的形式(INT 21h)提供的,在 DOS 下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将 AH 置为 30h 后调用 INT 21h 就可以得到 DOS 操作系统的版本号。而在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得操作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。可以这么说,DOS API 是“Thinking in 汇编语言”的,而 Windows API 则是“Thinking in 高级语言”的。DOS API 是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么 Windows API 呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。

DLL(又是一个缩写,感觉 IT 这个行业里三字头缩写特别多),即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API 函数的执行代码。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。

所以,为了使用 API 函数,我们就要有跟 API 所对应的 .H 和 .LIB 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了 SDK 的含义。

由于 SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数。

什么是SDK


经常会在技术论坛里面看到类似这样的帖子:“什么是 SDK?”,“请高手讲一下 SDK 是什么东东?”……
其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可...

分享到:
评论

相关推荐

    什么是SDK?.htm

    什么是SDK?.htm

    微信支付最新SDK wxpay-sdk-0.0.3

    首先,我们要理解什么是SDK(Software Development Kit)。SDK是一组工具、库文件、文档和技术支持,旨在帮助软件开发人员构建、测试和部署特定平台或应用的软件。在这个案例中,微信支付SDK包含了一系列Java类库,...

    HBuilderX 离线SDK Android-SDK@2.6.16.80137_20200426

    首先,我们来理解什么是SDK。SDK,全称为软件开发工具包,是一组用于开发特定平台或框架的工具、库、API文档和示例代码的集合。在Android开发中,SDK包含了Java开发工具、Android运行时环境、模拟器、调试工具等,...

    淘宝SDK(java)

    首先,我们需要理解什么是SDK(Software Development Kit)。SDK是一系列工具、库、文档和示例代码的集合,帮助开发者构建特定平台或应用的软件。在这个案例中,淘宝SDK(Java)包含了必要的类库和接口,使开发者...

    海康威视SDK包.zip

    在深入探讨这个SDK之前,我们首先需要理解什么是SDK以及它在软件开发中的作用。 SDK(Software Development Kit),即软件开发工具包,是一系列软件开发过程中的工具集合,通常包括API文档、库文件、编译器、调试器...

    dingtalk-sdk-java.zip

    首先,我们来了解什么是SDK。SDK是一组工具、库和文档的集合,它允许开发者访问特定平台或服务的功能,以便于构建应用程序。对于钉钉SDK而言,它提供了与钉钉API交互的接口和类,使得开发者可以使用Java语言编写代码...

    海康SDK delphi demo

    首先,我们需要理解什么是SDK(Software Development Kit)。SDK是一组工具、库文件、文档和示例代码,旨在帮助程序员构建特定平台或应用领域的软件。在这个案例中,海康SDK是为了帮助开发者利用Delphi编程语言来...

    mstr sdk 二次开发

    首先,让我们理解什么是SDK。SDK是一组工具、库、文档和示例代码,旨在帮助软件开发人员创建、测试和维护特定平台或应用程序的软件。MicroStrategy SDK提供了一整套API和接口,使得开发者能够构建自定义报表、仪表板...

    Brew SDK 3.1.5

    在介绍 Brew SDK 3.1.5 的具体知识点之前,我们首先需要理解什么是 SDK(Software Development Kit)。SDK 是一组工具、文档、库和示例代码,旨在帮助开发者构建特定平台或技术的应用程序。Brew SDK 作为 Homebrew ...

    C#调用BarTender源码,包含SDK,可直接使用

    首先,我们需要理解什么是SDK。SDK是一组开发工具和文档,它帮助开发者更好地理解和利用特定平台或技术的功能。BarTender的SDK提供了C#接口,使得开发者可以使用C#语言直接控制BarTender的各个功能,如设计标签、...

    全套淘宝SDK高级模板源代码【适合高手】

    然后,你需要理解什么是SDK,它是如何帮助开发者与淘宝API进行交互的。SDK通常包括了封装好的方法,用于请求和解析淘宝接口返回的数据,简化了开发过程。 淘宝SDK的核心功能包括但不限于: 1. **商品管理**:如...

    山景SDK最新sdk软件

    山景SDK最新sdk软件是专为开发者设计的一款高效、易用的开发工具,它针对此前可能出现的各种问题进行了全面的优化和解决。SDK,全称Software Development Kit,是一组用于构建应用程序的工具,通常包括库、API接口、...

    大华播放库SDK-Demo(不是设备网络库NetSDK)

    SDK版本:大华官网--服务支持--SDK开发--播放库SDK--播放库SDK_Win64_IS_V3.047.0000000.0.R.240530 2024-07-09 只用到两个dll文件play.dll和RenderEngine.dll(将play.dll换成“设备网络库NetSDK”中的dhplay.dll也...

    Windows SDK Windows SDKWindows SDKWindows SDK

    Windows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDK

    SDK.rar_Hikvision_SDK_SDK hikvision_海康威视_海康威视 sdk

    标题中的“SDK.rar_Hikvision_SDK_SDK hikvision_海康威视_海康威视 sdk”表明这是一个关于海康威视的SDK压缩包,可能包含了不同语言版本的开发资源,其中“Hikvision SDK”是核心部分,用于开发与海康威视设备交互...

    SDK教程_SDK教程_SDK教程

    SDK,全称Software Development Kit,即软件开发工具包,是一系列程序接口、工具、文档的集合,用于帮助软件开发者创建、调试和优化特定平台或应用的软件。SDK通常包括编程库、开发环境、示例代码、文档和调试工具等...

    BCM SDK简介

    BCM SDK简介涉及的IT知识点十分广泛,涵盖了SDK架构、初始化、线程管理、数据包传输、代码优化以及API接口等多个方面。以下是对这些知识点的详细解读: SDK架构介绍: 在BCM SDK中,架构设计至关重要,它决定了软件...

    sdk.rar_SDK_brew_brew sdk_brew S_brew sdk

    在IT行业中,SDK(Software Development Kit)是一种包含各种工具、库、文档和示例代码的集合,用于帮助软件开发者创建特定平台或应用的程序。在这个案例中,"sdk.rar" 是一个压缩包,包含了"BREW SDK 2.0"的相关...

    SDK入门教程 SDK入门教程SDK入门教程

    SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程SDK入门教程...

    海康NVR开发SDK,sdk开发文档

    海康NVR(Network Video Recorder)开发SDK是一个用于与海康威视的网络视频录像机进行交互的软件开发工具包,它为开发者提供了丰富的接口和功能,以便在Python等编程语言中实现对NVR设备的控制、视频流处理、录像...

Global site tag (gtag.js) - Google Analytics