DLL導出類

 DLL導出類

  DLL中定義的類可以在應用工程中使用。

#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#pragma message("auto to link the Test2.lib")
#define MYDLL_API __declspec(dllimport)
#endif



class MYDLL_API CMyClass  
{
public:
	 CString SayHello(CString strName);
	 CMyClass();
	 virtual ~CMyClass();

};


 

// MyClass.cpp: implementation of the CMyClass class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#define  MYDLL_EXPORTS
#include "Test2.h"
#include "MyClass.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMyClass::CMyClass()
{

}

CMyClass::~CMyClass()
{

}

CString CMyClass::SayHello(CString strName)
{
     return "Hello " + strName; 
}

 

由於在應用程序中沒有定義MYDLL_EXPORTS, 故MyClass.h 被引入的類聲明

而在應用工程中沒有定義DLL_FILE,故其包含point.h和circle.h後引入的類聲明爲:

class _declspec(dllimport) CMyClass/ /導入類CMyClass

{



}

發佈了19 篇原創文章 · 獲贊 3 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章