通俗而言:

  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. 优化mysql

    数据库设计和表创建时就要考虑性能 sql的编写需要注意优化 分区 分表 分库 1.数据库设计和表创建时就要考虑性能 mysql数据库本身高度灵活,造成性能不足,严重依赖开发人员能力.也就是说开发人员能 ...

  2. XFire调用CXF参数为Null的问题

    最近,领导分配了一个任务,做接口联调.情况是这样,对方客户升级了接口采用CXF,而我们还是用的XFire1.2.6,首先就遇到了这个问题:XFire调用CXF参数为Null的问题 . 在网上搜了一大堆 ...

  3. sqlserver查询使用with(nolock)详解

    所有Select加 With (NoLock)解决阻塞死锁 在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS ...

  4. C/C++ 传递信息给Java

    #开始 今天有人问我C++怎么给Java传递消息 大概需求是 用C++写了一个窗口 需要把编辑框里面的东西传递给Java做处理 #解决过程 我现在能想到的有三个简单的方法 1. Socket编程 通过 ...

  5. 树莓派安装ubuntu_meta并配置开发环境

    1.烧录系统 首先准备好我们要烧录的ubuntu_meta系统,可以在树莓派官网中下载https://www.raspberrypi.org/downloads/ 这里我们选择 Raspberry P ...

  6. 从0到1了解 CI/CD

    现代软件开发的需求加上部署到不同基础设施的复杂性使得创建应用程序成为一个繁琐的过程.当应用程序出现规模性增长,开发团队人员变得更分散时,快速且不断地生产和发布软件的流程将会变得更加困难.为了解决这些问 ...

  7. 深入理解Java虚拟机(1)

    Java内存区域 对于Java程序员来说,在虚拟机的自动内存管理机制下,不再需要为每一个new操作去写配对的delete和free代码,不容易出现内存泄露和内存溢出问题,可以直接交给虚拟机进行管理. ...

  8. 微信-获取openid

    第一步 首先把微信的支付流程与相关的文档熟悉一遍,具体的支付逻辑是怎么实现的,心里要有一定的路数,开发的时候一边看文档,一边写,再一边调试这是最好的选择,首先阅读微信开发文档,因为我们这次是做公众号支 ...

  9. 定时备份mysql数据库的shell脚本

    最近项目需要定时备份mysql数据库的数据,根据需求写了一份定时备份mysql数据库的脚本. -h mysql的地址  默认为localhost -P 端口号  默认为3306 -u 用户  默认为r ...

  10. Python socket day3

    UDP聊天室 本地回环(127.0.0.1) 本地回环是每台电脑都有的,只能用于自身电脑的通讯,无论你的IP地址是多少,只要发送方输入的目的IP为127.0.0.1 ,自身便能接受得到数据 测试本地回 ...