API--应用程序接口
dll--动态链接库
dll是windows操作系统在运行过程中才在系统目录里调用的
API则是用来编应用程序的
API是函数,DLL是实现这些函数的文件。但API并不一定全用DLL实现,也可能是SYS(内核)、DRV(驱动)、OCX(控件)、LIB(静态库)或其它等
dll实现与语言无关--动态链接库
api操作系统提供开发应用程序的接口函数
dll 是用来封装api的
dll是api的载体
API是一种抽象的说法,以前C语言,底层程序员交给上层应用程序员的库函数.件就称为API
DLL当然是API实现的一种方式,可以只给别人提供可执行代码不用源代码,COM等进一步的
规范
也是API,不过就可以实现编译器和语言无关了;组件也是API,进一步实现多语言交互。

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

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