C++类封装成dll,dll中有全局变量

#ifndef COM_DB_H
#define COM_DB_H

#include 
#include 

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

你可能感兴趣的:(C++)