DLL导出类

本文介绍了如何在DLL中定义并在应用程序中使用一个类。通过预处理器宏MYDLL_API的定义来控制类的导出和导入行为。具体展示了CMyClass类的实现,包括构造函数、析构函数以及成员函数SayHello的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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

{



}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值