为了让VC6写的动态库程序(为何要用VC6写动态库?很简单,动态库很简单,发布部署简单)可以很好的支持C/C++调用,尤为是使用了__stdcall的调用约定,C++编译器会自动给函数另外命名,所以编辑DEF文件能够强制约定函数输出名称,避免调用方找不到函数名称的状况。函数
//建立一个DEF文件
LIBRARY cqueuelib #动态库输出名称
EXPORTS
FuncName1 @1
FuncName2 @2
FuncName3 @3
#FuncName1是函数名称,@1是函数内部地址,一般是声明的顺序。.net
//加入VC6项目中code
导出和导入代码:部署
#if defined(CAMERA_LIBRARY) # define CAMERASHARED_EXPORT __declspec(dllexport) #else # define CAMERASHARED_EXPORT __declspec(dllimport) #endif