如果提问中有犯低级错误,请谅解。
1、请问下,api和sdk有啥却别?
2、dll和java的jar包相比有啥却别?
3、dll中是不是可以提供界面,供别的程序直接调用?
------解决方案--------------------
狭义的api是指windows api,狭义的sdk是指windows sdk,windows sdk是一个开发包,包含了开发windows程序所用的windows api文档、例子程序、头和库文件以及工具。所以一个sdk程序,一般是说只通过调用windows api而没有用更高级的库,比如mfc owl或者vcl等等实现的程序。
广义的api泛指一切编程接口,你的程序能允许另一个程序调用,二次开发,你规定的调用接口都叫api。广义的sdk泛指一切为二次开发而提供的开发包/开发套件,比如android sdk,sina weibo sdk,java sdk。
狭义的dll指windows下的动态链接库,这些库包含了一些函数调用,在程序执行的时候动态装载到程序中被执行,本身windows api就是指user32、kernel32、gdi32等几个dll的函数调用集合。
广义的dll指具有dll后缀的库,现在,activex com(严格来说com dll也是标准dll)、.net库还有很多别的库也使用dll后缀。甚至一些不能执行的文件也使用这个后缀。
------解决方案--------------------
sdk通常是一整套解决方案,就好像发布一个完整的开发平台一样。
api通常是指一组功能调用,尤其是突出其接口函数调用的简单格式。
dll是文件后缀。