通俗而言:

  1、其实很简单,SDK 就是 Software Development Kit 的缩写,中问意思是: 软件开发工具包。

  2、这是一个覆盖面相当广泛的名词,可以这么说:

    辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。

    PS:(这里插一段关于抽象的理解的话:

          抽象就是从众多的事物中提取出共同的、本质的特征,而舍弃非本质的特征。

          例如苹果、香蕉、香梨、葡萄、桃子等,他们的共同特征就是水果。得出水果概念的过程,就是一个抽象的过程。

          那么要抽象,就必须进行比较,没有比较就无法找到在本质上共同的部分。共同特征是指哪些能把一事物与其他事物区分开来的特征,这些具有区分作用的特征又称本质特征。

          因此抽取事物的共同特征就是抽取事物的本质特征,舍弃非本质的特征,所以抽象的过程也是一个裁剪的过程。

          在抽象时,同于不同,决定于什么角度上来抽象。抽像的角度取决于分析问题的目的)

  3、为了解释 “SDK” 不得不引入 API、动态连接库、导入库等概念

    (1)API (Application Programming Interface):

      是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令。

     (2)DLL(Dynamic Link Libary)动态连接库:

       我们经常看到一些 .dll 格式的文件,这些文件就是动态连接库文件,其实也是一种可执行文件格式。跟 exe 文件不同的是,dll 文件不能直接执行,他们通常由 .exe 在执行时装入

        内含有一些资源以及可执行的代码等。其实 windows 的三大模块就是以 DLL 的形式提供的(Kernel32.dll  User32.dll GDI32.dll),里面就含有了 API 的函数执行代码,为了使用 DLL

        中的 API 函数,我们必须要有 API 函数的声明(H)和其 导入库(LIB),函数的原型不难理解,那么导入库又是做什么的呢?

     (3)导入库:

        导入库是为了在DLL 中找到 API 的入口点而使用的,所以,为了使用 API 函数。我们要又跟 API 所对应的.H 和 .LIB 文件,而 SDK 正式提供了一整套开发 Windows 应用程序所需的

        相关文件、范例和工具的“工具包”

    到此为止,我们才真正的理解 SDK 的含义,由于 SDK 包含了使用 API 的必须资料,所以人们也常把仅使用 API 来编写 Windows应用程序的开发方式叫做“ SDK 编程”。

    而 API 和 SDK 时开发 Windows 应用程序所必须的东西,所以其他编程框架和类库都是建立在他们之上的,比如 VCL 和 MFC,虽然比起"SDK 编程"来有着更高的抽象度,但这丝毫不妨碍他们   在需要的时候随时直接调用 API 函数。

      

什么是 SDK?的更多相关文章

  1. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  2. 阿里云直播 C# SDK 如何使用

    阿里云直播SDK的坑 1.直播云没有单独的SDK,直播部分被封装在CDN的相关SDK当中. 2.针对SDK,没有相关Demo. 3.针对SDK,没有相关的文档说明. 4.针对SDK的说明,官网上的说明 ...

  3. 使用Visual Studio SDK制作GLSL词法着色插件

    使用Visual Studio SDK制作GLSL词法着色插件 我们在Visual Studio上开发OpenGL ES项目时,避免不了写Shader.这时在vs里直接编辑shader就会显得很方便. ...

  4. iOS开发之App间账号共享与SDK封装

    上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...

  5. Intel Media SDK H264 encoder GOP setting

    1 I帧,P帧,B帧,IDR帧,NAL单元 I frame:帧内编码帧,又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随 ...

  6. Android SDK 在线更新镜像服务器资源

    本文转自:http://blog.kuoruan.com/24.html.感谢原作者. 什么是Android SDK SDK:(software development kit)软件开发工具包.被软件 ...

  7. TYPESDK手游聚合SDK服务端设计思路与架构之二:服务端设计

    在前一篇文中,我们对一个聚合SDK服务端所需要实现的功能作了简单的分析.通过两个主要场景的功能流程图,我们可以看到,作为多款游戏要适配多个渠道的统一请求转发中心,TYPESDK服务端主要需要实现的功能 ...

  8. TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析

    TYPESDK 服务端设计思路与架构之一:应用场景分析 作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各 ...

  9. Android SDK 与API版本对应关系

    Android SDK版本号 与 API Level 对应关系如下表: Code name Version API level   (no code name) 1.0 API level 1   ( ...

  10. Kotlin与Android SDK 集成(KAD 05)

    作者:Antonio Leiva 时间:Dec 19, 2016 原文链接:https://antonioleiva.com/kotlin-integrations-android-sdk/ 使用Ko ...

随机推荐

  1. springboot jar文件打zip包运行linux环境中

    1.添加打包配置文件 1.1  assembly.xml <assembly xmlns="http://maven.apache.org/plugins/maven-assembly ...

  2. js 实现文字转音频播放

    var msg = new SpeechSynthesisUtterance("hello World"); console.log(msg); window.speechSynt ...

  3. zxEditor

    <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="X-UA-C ...

  4. Linux下调试caffe

    参考博客:https://blog.csdn.net/xiaoyezi_1834/article/details/50724875 使用Anjuta 我使用的是ubuntu18.04,安装命令: su ...

  5. 【原】Harbor安装及使用

    一.Harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级私有Registry服务器. 二.Harbor安装 1.下载Harbor包 官网地址:https://github.com ...

  6. Linux shell lrzsz上传下载命令

    安装lrzsz做上传下载 工具使用secretCRT yum install -y lrzsz 1. 服务器<发送>文件,使用命令sz 2. 服务器<接收>文件,使用命令rz

  7. 深入delphi编程理解之消息(二)发送消息函数及消息编号、消息结构体的理解

    一.delphi发送消息的函数主要有以下三个: (一).SendMessage函数,其原型如下: function SendMessage( hWnd: HWND; {目标句柄} Msg: UINT; ...

  8. jQuery的ajax方法的属性以及jsonp的随机数问题

    原文地址[ http://www.cnblogs.com/know/archive/2011/10/09/2204005.html ] <!DOCTYPE html PUBLIC "- ...

  9. IDEA Tomcat配置 VM Option

    -server -XX:PermSize=512M -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8

  10. LeetCode练题——58. Length of Last Word

    1.题目 58. Length of Last Word——Easy Given a string s consists of upper/lower-case alphabets and empty ...