C++類封裝成dll,dll中有全域性變數
阿新 • • 發佈:2019-01-01
#ifndef COM_DB_H #define COM_DB_H #include <stdlib.h> #include <stdio.h> #include <iostream> #ifdef MYLIBDLL #define MYLIBDLL extern "C" _declspec(dllimport) #else #define MYLIBDLL extern "C" _declspec(dllexport) #endif //資料庫連線 class _declspec(dllexport) DBCon { public: DBCon(); ~DBCon(); void test(); private: }; __declspec(dllexport) extern DBCon *g_dbTest; #endif
cpp
#include "comDb.h"
//預設連線
DBCon *g_dbTest = NULL;
DBCon::DBCon(){
}
DBCon::~DBCon(){
}
void DBCon::test(){
}
編譯後會在debug資料夾下生產dll和lib檔案,將這兩個檔案加入自己的工程,同時將上面的標頭檔案引入到自己的工程裡,但是需要修改一個地方為__declspec(dllimport) extern DBCon *g_dbTest; 即dllexport改為了dllimport。其他不變