什么是SDK

如题所述

SDK,Software Development Kit 的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
SDK(Software Development Kit, 即软件开发工具包 )一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口 API 的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构件SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
SDK 可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的SDK可能与自由软件开发抵触。GPL能使SDK与专有软件开发近乎不兼容。LGPL下的SDK则没有这个问题。

希望能帮助你!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-17
首先,虽然你说看过了一些SDK的资料,但我觉得你还是没有真正理解SDK是什么所以才有这样的问题。一般我的理解是,SDK是一些公司针对某一项技术为软件开发人员制作的一套辅助开发或者减少开发周期的工具。比如说,微软除了发布DIRECTX的RUNTIME(DX的运行时刻库,一般需要DX支持的游戏运行时只要这个就够了)之外,还会发布DIRECTX的SDK,那么开发游戏的人或者其他编程的人,就可以利用DIRECTX的SDK更好的开发使用DIRECTX技术的游戏或软件,一般SDK中会对一些技术的内部特性做一些更深入的说明,并且提供一些新的API供编程人员调用。比如说如果你认真阅读了DIRECTX的SDK中的文档,你就知道怎么开发DIRECTX的程序,并且知道DIRECTX技术提供了哪些API可供你调用。至于在编程中,在新建工程什么的,理论上应该和一般的编程没有什么两样,或者说至少在新建工程这方面上没有什么特别的,关键的地方是在程序内部使用了SDK提供给你的一些方便的功能,或者有时你需要安装这些SDK才能在你的程序中使用这些功能。所以你的问题其实就在于对SDK这个概念还不够了解。

比如说,如果你想用DIRECTX技术写一个应用程序,那么你就要建一个应用程序的工程,如果你想应用DIRCTX写一个自己的DLL,以便在你写的其他程序中调用它,那么你就应该新建一个DLL的工程。总之,要新建什么样的工程在于你编程的目的和你使用的编程语言环境的规定,而不在于你是否使用某个SDK追问

似乎SDK只支持PHP语言呀?

第2个回答  2020-01-06
相似回答