SDK是什么?在学校时印象中的SDK就是一堆库或者包,使用时导入到工程中,就可以像使用标准库一样的使用。没有更深入的了解sdk中都有什么,为什么能够这么方便的使用,甚至SDK与API具有有什么区别也搞不清楚。
直到在工作中需要用到SDK,需要在编译选项中指定路径,包含库;需要在环境配置中使用SDK提供的工具;才对SDK有了更进一步的认识。
SDK,Software Development Kit 的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。SDK中至少包含这么几个重要的部分。
1. 头文件的集合。比如放在include文件夹下,需要在使用的时候引用该头文件。需要在编译系统中为其指定路径。
2. 库文件的集合。比如放在lib文件夹下。在引用头文件之后还需要包含相应的库文件。需要在编译系统中为其指定路径,并且指定链接的库名称。
3. 工具链。比如放在toolchains下。里面包含了常用的工具,比如gcc g++ ld strip as arm-gdb等。包括编译、汇编、链接、调试等各种各样需要用到的工具
4. 实例程序。
5. 文档。
这些只是最基本的,几乎每个SDK都会包含的东西,有的SDK提供的东西远远不只这些。