亲爱的MBA智库百科用户:


过去的17年,百科频道一直以免费公益的形式为大家提供知识服务,这是我们团队的荣幸和骄傲。 然而,在目前越来越严峻的经营挑战下,单纯依靠不断增加广告位来维持网站运营支出,必然会越来越影响您的使用体验,这也与我们的初衷背道而驰。 因此,经过审慎地考虑,我们决定推出VIP会员收费制度,以便为您提供更好的服务和更优质的内容。


MBA智库百科VIP会员,您的权益将包括: 1、无广告阅读; 2、免验证复制。


当然,更重要的是长期以来您对百科频道的支持。诚邀您加入MBA智库百科VIP会员,共渡难关,共同见证彼此的成长和进步!



MBA智库百科项目组
2023年8月10日
百科VIP
未登录
无广告阅读
免验证复制
1年VIP
¥ 9.9
支付方式:
微信支付
支付宝
PayPal
购买数量:
1
应付金额:
9.9
汇率换算:
9.9
美元(USD)

按当月汇率换算,

包含手续费

打开手机微信 扫一扫继续付款
立即开通
PayPal支付后,可能会遇到VIP权益未及时开通的情况,请您耐心等待,或者联系百科微信客服:mbalib888。
温馨提示:当无法进去支付页面时,可刷新后重试或更换浏览器
开通百科会员即视为同意《MBA智库·百科会员服务规则》

支付成功

全球专业中文经管百科,由121,994位网友共同编写而成,共计436,064个条目

软件开发工具包

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

软件开发工具包(Software Development Kit,SDK)

目录

[隐藏]

什么是软件开发工具包

  软件开发工具包一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

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

  软件开发工具包,只是简单的为某个程序设计语言提供应用程序接口的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。

  软件工程师通常从目标系统开发者那里获得软件开发包。为了鼓励开发者使用其系统或者语言,许多SDK是免费提供的。SDK经常可以直接从互联网下载。有时也被作为营销手段。例如,甲产品或许会免费提供构件SDK以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。

  SDK可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的SDK可能与自由软件开发抵触。GPL能使SDK与专有软件开发近乎不兼容。LGPL下的SDK则没有这个问题。

软件开发工具包的相关概念[1]

  为了认识sdk我们先来了解几个概念:API动态链接库、导入库等等,“API”,也就是Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令。DLL即DynamicLinkLibrary(动态链接库)。我们经常会看到一些.dll格式的文件,这些文件就是动态链接库文件.其实也是一种可执行文件格式。跟.exe文件不同的是。.dll文件不能直接执行,他们通常由.exe在执行时装入,内含有一些资源以及可执行代码等。为了使用DLL中的APl函数.我们必须要有API函数的声明(.H)和其导入库(.LIB),函数的原型声明头文件是对函数进行函数声明的文件,导入库是为了在DLL中找到API的入口点而使用的。

SpeechSDK

  介绍了该系统的设计目标及功能结构,结合实际项目背景,提出了解决方案并以分模块的形式探讨了系统的功能,介绍了系统各部分的特点。经过测试基于SpeechSDK。

  为了鼓励开发者使用其系统或者语言,许多SDK是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构建SDK以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。

  SDK可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的SDK可能与自由软件开发抵触。GPL能使SDK与专有软件开发近乎不兼容。LGPL下的SDK则没有这个问题。

SDK与MFC编码时的区别[2]

  用VC编写Windows程序有两种:一是WindwosC方式(SDK),二是c++方式:即对SDK函数进行包装,如VC的MFC,BCB的OWL等。SDK编程就是直接调用Windows的API进行编程,平时人们常说“用SDK写程序”就是指用Windows的API函数来写程序,API由成千上万个API函数组成。而MFC是API的封装,结合面向对象程序设计的继承性和多态性组成一个个的“类”,共由100多个类组成。在实际使用中,MFC比SDK方便。

  SDK与MFC编码时的区别为,SDK编码时包括程序框架(比如消息处理器、主窗口消息回调函数等)在内的代码全为自己编制,但所利用的API等接口全来自SDK的头文件和库文件。有一种说法说“SDK只是MFC的一个真子集”是错误的,因为有部分API函数MFC没有封装,不过这些函数你在MFC程序中都可以使用。MFC主要封装的是界面、文件,Winlnet和线程等函数。SDK是基于c语言的,而MFC是基于c++的,这是最根本的区别。MFC除了封装API,最重要的是它的体系结构,它所使用的Doc/View结构是SDK中没有的,这种架构是比较特殊的。尽管Doc/View结构不是微软的发明,但它是MFC的特色。MFC最初是由微软设计,专供VC++用的,但是C++Builder也支持,C++Builder自己也有一个类库,叫VCL。以前的BorIand C++使用OWL类库。微软开发Windows时使用的是c语言,所以最初设计SDK时并没有考虑c++。

参考文献

  1. 贾栋;张建军.利用sdk的软件设计方法[J].机械管理开发.2007,6
  2. 李永红,程耀瑜等.基于SDK的软件设计方法[J].科技情报开发与经济.2006,6
本条目对我有帮助2
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目投诉举报

本条目由以下用户参与贡献

Mis铭,刘维燎,苏青荇,赵先生.

评论(共0条)

提示:评论内容为网友针对条目"软件开发工具包"展开的讨论,与本站观点立场无关。

发表评论请文明上网,理性发言并遵守有关规定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP
告MBA智库百科用户的一封信
亲爱的MBA智库百科用户: 过去的17年,百科频道一直以免费公益的形式为大家提供知识服务,这是我们团队的荣幸和骄傲。 然而,在目前越来越严峻的经营挑战下,单纯依靠不断增加广告位来维持网站运营支出,必然会越来越影响您的使用体验,这也与我们的初衷背道而驰。 因此,经过审慎地考虑,我们决定推出VIP会员收费制度,以便为您提供更好的服务和更优质的内容。 MBA智库百科VIP会员(9.9元 / 年,点击开通),您的权益将包括: 1、无广告阅读; 2、免验证复制。 当然,更重要的是长期以来您对百科频道的支持。诚邀您加入MBA智库百科VIP会员,共渡难关,共同见证彼此的成长和进步!
MBA智库百科项目组
2023年8月10日

闽公网安备 35020302032707号

添加收藏

    新建收藏夹

    编辑收藏夹

    20