弱问:API和DLL有什么区别啊?

mycareer2000 2004-10-12 10:36:50
如题。
谢谢。
...全文
1393 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
joyfire 2004-10-18
  • 打赏
  • 举报
回复
API是一种抽象的说法,以前C语言,底层程序员交给上层应用程序员的库函数.h文件就称为API
DLL当然是API实现的一种方式,可以只给别人提供可执行代码不用源代码,COM等进一步的规范
也是API,不过就可以实现编译器和语言无关了;.net组件也是API,进一步实现多语言交互。

Windows以前的版本的系统调用(或者说Win32 API)是用dll实现的,后来慢慢用Com接口,例如
刚开始数据库方面的ODBC API,后来就是OLEDB,现在进一步编程.net的东西

你自己写一个大程序,代码分成很多层次和体系结构,每一层之间的调用约定就是API
至于你是采用源代码、dll、COM组件还是.net组件,那是实现方法

看看英文就知道了API实际就是一种程序员之间的界面(interface)
winter_bear 2004-10-18
  • 打赏
  • 举报
回复
这两个有可比性吗?
wq99 2004-10-18
  • 打赏
  • 举报
回复
看明白了一点。
dll是api的载体?可以这么说么?
WZMax 2004-10-18
  • 打赏
  • 举报
回复
我总结一下: ^_^

API-应用程序接口 ok?!
DLL-动态连接库 ok?!

API-是函数 可以是动态的也可以是静态,但主要是静态的
DLL-动态的 API 函数封装在各个 DLL 文件里,是载体。但API并不一定全用DLL实现,也可能是SYS(内核)、DRV(驱动)、OCX(控件)、LIB(静态库)或其它等等,所以DLL只是API实现的一种方式,可以只给别人提供可执行代码不用源代码

dll-实现与语言无关
api-操作系统提供开发应用程序的接口函数,与具体的操作系统有关

其实,API是一种比较抽象的说法。以前的C语言,底层程序员交给上层应用程序员的库函数 *.h 文件就称为API,COM等进一步的规范也是API,不过就是可以实现编译器和语言无关了;

.net组件也是API,进一步实现多语言交互。

Windows以前的版本的系统调用(或者说Win32 API)是用dll实现的,后来慢慢用Com接口,例如:刚开始数据库方面的ODBC API,后来就是OLEDB,现在进一步编 .net 的东西

你自己写一个大程序,代码分成很多层次和体系结构,每一层之间的调用约定就是API,至于你是采用源代码、dll、COM组件还是.net组件,那是实现方法!

另外再比如一下:
你有一种视频卡,而且你准备开发这种视频卡(比如显示多窗口等多媒体功能),所以工厂就给你一个开发包,那么他们会说开发包(SDK)已经有调用这视频卡的API了。而这些API其实就是DLL。

yifengling0 2004-10-17
  • 打赏
  • 举报
回复
没有可比性啊。。。

API是函数,

DLL是文件啊。。API函数一般都放在DLL文件中。
ziqiang802 2004-10-17
  • 打赏
  • 举报
回复
不知道真正的理解应该为什么咧!

aresfe 2004-10-17
  • 打赏
  • 举报
回复
api是应用程序接口
dll是动态连接库
apogeecsj 2004-10-17
  • 打赏
  • 举报
回复
dll实现与语言无关--动态链接库
api操作系统提供开发应用程序的接口函数
mikeleishen 2004-10-13
  • 打赏
  • 举报
回复
dll 是用来封装api的,也可以这么说
cchuocp 2004-10-12
  • 打赏
  • 举报
回复
API是函数,DLL是实现这些函数的文件。但API并不一定全用DLL实现,也可能是SYS(内核)、DRV(驱动)、OCX(控件)、LIB(静态库)或其它等等等等等等等等等等等等等
1983lx 2004-10-12
  • 打赏
  • 举报
回复
API--应用程序接口
dll--动态链接库
dll是windows操作系统在运行过程中才在系统目录里调用的
API则是用来编应用程序的
ZKYcomputer 2004-10-12
  • 打赏
  • 举报
回复
说的都不一致哦!??
星羽 2004-10-12
  • 打赏
  • 举报
回复
API(应用函数接口)是函数 可以是动态的也可以是静态的
这些API 函数封装在各个 DLL 文件里

Dong 2004-10-12
  • 打赏
  • 举报
回复
API和DLL有什么区别啊?
--------------------------
不懂!!!!粗暴的说吧:API是系统的DLL!!其实他们都是一样的。都是提供的调用接口。只是API有的存放的格式是*.lib!!(其实我也不懂)

比如一下:
你有一种视频卡,而且你准备开发这种视频卡(比如显示多窗口等多媒体功能),所以工厂就给你一个开发包,那么他们会说开发包(SDK)已经有调用这视频卡的API了。而这些API其实就是DLL

API(应用函数接口)静态的
DLL(动态连接库)动态的
gwolf 2004-10-12
  • 打赏
  • 举报
回复
api-应用程序接口
dll-动态连接库
sugelade 2004-10-12
  • 打赏
  • 举报
回复
简单地说,API是调用系统资源~功能的接口,是一些函数。DLL是一些模块,是一段段的代码

65,171

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧