C导出接口与C++导出接口对比
来源:互联网 发布:网络直播红人瞳孔 编辑:程序博客网 时间:2024/06/07 02:10
C++导出的接口
宏定义:#define ADAPTER_DLL_API__declspec(dllexport)
优点:
(1) 允许函数重载,即类中可以存在重名的函数
(2) 可以保证导出接口和使用接口的一致性,即可以直接使用导出的头文件
(3) 当接口名字或者参数类型和个数发生变化时,可以通过编译迅速定位问题。
(4) 可以将多个DLL工程和一个Exe工程放在一个大工程中,设置编译顺序和依赖关系,可以简单的编译、连接和运行。
缺点:
(1) 如果没有该DLL或者DLL的平台不匹配,运行相关的Exe程序会失败。
(2) 发布版本需要头文件,Lib文件,DLL文件
C导出的接口
宏定义:#define ADAPTER_DLL_APIextern"C" __declspec(dllexport)
函数如下:
// 加载C接口的DLL文件资源
HINSTANCE LoadLibrary(
LPCTSTR lpLibFileName
);
// 通过函数名查找相应的函数指针
FARPROC GetProcAddress(
HMODULE hModule,
LPCWSTR lpProcName
);
// 释放DLL文件资源
BOOL FreeLibrary(
HMODULE hLibModule
);
优点:
(1) 如果没有该DLL或者DLL的平台不匹配,可以运行相关的Exe程序,只是相关的功能用不上,其他的功能照样可以使用。
(2) 不需要相关的lib文件,降低了调用程序与DLL的程序的耦合性。
(3) 不需要以前的接口的情况下,包括增加接口和修改接口实现的下,不需要重新编译整个程序。
缺点:
(1) 不允许函数重载
(2) 发布版本需要头文件和DLL文件
(3) 需要增加一个接口文件,调用LoadLibrary(),GetProcAddress(),FreeLibrary()函数。
个人感觉,大工程最好使用C接口导出,小工程最好使用C++接口导出。
- C导出接口与C++导出接口对比
- C++/CLI 导出接口和类
- c接口导出到lua中使用
- VS中利用swig实现c/c++导出python接口
- c/c++混编,导出接口给lua调用
- C++:VS2010中如何查看DLL的导出接口
- C接口与CS接口
- c++导出函数接口与实现分离
- matlab 与C 接口
- 导出OPC接口文件
- DLL接口的导出
- DLL接口的导出
- FairyGUI导出XLua接口
- dll导出接口
- mysql的c函数接口以及c++接口的对比
- 在VS中利用swig导出c/c++ 的python接口文件
- OpenCV c接口与c++接口
- OpenCV c接口与c++接口
- Java中的位运算
- 给phper工作1-2年的看的
- 一个比较完整的Inno Setup 安装脚本
- S3C 2440 中断控制器的学习
- Hook API 原理 解析
- C导出接口与C++导出接口对比
- 自动滚动
- VA_X_Setup1724 VS2010自动补全
- 用.Net打造一个移动客户端(Android/IOS)的服务端框架NHM(三)——搭建Android开发环境,用Hibernate生成Android项目的Model层
- Java学习第七天
- C++对象内存分析
- Java volatile and transient
- myBatis初探
- 工厂方法模式c++实现