VS不愧是宇宙最強大的IDE咯,定義
snippet
以后,媽媽再也不怕我敲代碼敲壞鍵盤了就可以很方便的生成並轉移一個庫
,而不必修改頭文件
。
不過這還需要在項目輸出上做做修改,規則差不多是$name$
[d]
[_x64]
.lib|dll
,比如mySock.lib
、mySock.dll
。
靜態庫的導入導出
#ifndef _LIB // 靜態庫宏
#ifdef _WIN64
#ifdef _DEBUG
#pragma comment(lib,"lib/MY_LIBd_x64.lib")
#else
#pragma comment(lib,"lib/MY_LIB_x64.lib")
#endif // _DEBUG
#else
#ifdef _DEBUG
#pragma comment(lib,"lib/MY_LIBd.lib")
#else
#pragma comment(lib,"lib/MY_LIB.lib")
#endif // _DEBUG
#endif // _WIN64
#endif // MY_LIB_EXPORTS
動態庫的導入導出
#ifdef MY_DLL_EXPORTS // DLL導出宏
#define MY_DLL_API __declspec(dllexport) // 導出使用
#else
#define MY_DLL_API __declspec(dllimport) // 導入使用
#ifdef _WIN64
#ifdef _DEBUG
#pragma comment(lib,"lib/MY_DLLd_x64.lib")
#else
#pragma comment(lib,"lib/MY_DLL_x64.lib")
#endif // _DEBUG
#else
#ifdef _DEBUG
#pragma comment(lib,"lib/MY_DLLd.lib")
#else
#pragma comment(lib,"lib/MY_DLL.lib")
#endif // _DEBUG
#endif // _WIN64
#endif // MY_DLL_EXPORTS
動態庫的函數定義前加上MY_DLL_API
就可以實現導出或導入
再進一步
以上的庫要求$name$
[d]
[_x64]
.lib|dll
的導出格式,而目前我還不清楚怎么可以通過宏指令形式修改目標文件名,只能手動修改,這是其中比較棘手的一個問題。