什么是 SDK?
通俗而言:
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?的更多相关文章
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- 阿里云直播 C# SDK 如何使用
阿里云直播SDK的坑 1.直播云没有单独的SDK,直播部分被封装在CDN的相关SDK当中. 2.针对SDK,没有相关Demo. 3.针对SDK,没有相关的文档说明. 4.针对SDK的说明,官网上的说明 ...
- 使用Visual Studio SDK制作GLSL词法着色插件
使用Visual Studio SDK制作GLSL词法着色插件 我们在Visual Studio上开发OpenGL ES项目时,避免不了写Shader.这时在vs里直接编辑shader就会显得很方便. ...
- iOS开发之App间账号共享与SDK封装
上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...
- Intel Media SDK H264 encoder GOP setting
1 I帧,P帧,B帧,IDR帧,NAL单元 I frame:帧内编码帧,又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随 ...
- Android SDK 在线更新镜像服务器资源
本文转自:http://blog.kuoruan.com/24.html.感谢原作者. 什么是Android SDK SDK:(software development kit)软件开发工具包.被软件 ...
- TYPESDK手游聚合SDK服务端设计思路与架构之二:服务端设计
在前一篇文中,我们对一个聚合SDK服务端所需要实现的功能作了简单的分析.通过两个主要场景的功能流程图,我们可以看到,作为多款游戏要适配多个渠道的统一请求转发中心,TYPESDK服务端主要需要实现的功能 ...
- TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析
TYPESDK 服务端设计思路与架构之一:应用场景分析 作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各 ...
- Android SDK 与API版本对应关系
Android SDK版本号 与 API Level 对应关系如下表: Code name Version API level (no code name) 1.0 API level 1 ( ...
- Kotlin与Android SDK 集成(KAD 05)
作者:Antonio Leiva 时间:Dec 19, 2016 原文链接:https://antonioleiva.com/kotlin-integrations-android-sdk/ 使用Ko ...
随机推荐
- 清理rancher、k8s环境
清理rancher.k8s环境 待办 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571
- Educational Codeforces Round 78 (Rated for Div. 2)D(并查集+SET)
连边的点用并查集检查是否有环,如果他们的fa是同一个点说明绕了一圈绕回去了.n个点一共能连n-1条边,如果小于n-1条边说明存在多个联通块. #define HAVE_STRUCT_TIMESPEC ...
- 每天进步一点点------Alpha半透明图形叠加算法Matlab+Verilog实现
Alpha图形叠加算法Matlab+Verilog实现 1.1. Alpha算法的研究 Alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明.不透明和半透明区域, ...
- apache的下载
官网http://www.apache.org/ 首页第三行左右 点a number of third party vendors 再点第一个ApacheHaus 最后来到windows的下载页面 h ...
- Visual Studio 2017进行Python开发环境的搭建,使用VS2017进行python代码的编写。
Visual Studio 2017进行Python开发环境的搭建,使用VS2017进行python代码的编写. 前提:已经安装过VS2017且进行过配置. 第一部分: Python环境的搭建: 建议 ...
- bootstrap创建带遮罩层的进度条
<div class="modal fade" id="loadingModal"> <div style="width: 200p ...
- 粪发涂墙-tomcat
tomcat 的 JAVA_OPTS 分析设置 快乐生活你我 2019-08-12 06:07:00 JAVA_OPTS ,顾名思义,是用来设置JVM相关运行参数的变量. 1.JVM:JAVA_OPT ...
- Redis注册成服务
注册服务 redis-server.exe –-service-install redis.windows.conf 删除服务 redis-server –-service-uninstall 开启服 ...
- 安装Linux系统后配置的一般步骤
安装linux后配置的一般步骤 最近在尝试不同的linux系统,记录一下安装完linux之后常用的软件的安装方法 1.源的更新 ubuntu 源的更新方法 参考(没有测试过,但是都大同小异,不行就换一 ...
- (学习1)最小生成树-Prim算法与Kruskal算法
最小生成树: 求一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边. 1:Prim算法(适合稠密图) 伪代码: Prim(G){ //G ...