爲了讓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