1. 程式人生 > >C++類封裝成dll,dll中有全域性變數

C++類封裝成dll,dll中有全域性變數

#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。其他不變