关闭

导出C++ dll中的类

923人阅读 评论(0) 收藏 举报

今日做一个小程序来练手
要求:做一个dll,dll中包含一个函数,这个函数的主要作用就是显示一个messagebox,调用者调用这个函数,来显示一些消息

首先在定义一个类,由于在使用时,我们应实例化这个类,所以在这个类之前应加上__declspec(dllexport),来确保导出了类的构造函数
由于我们用到了mfc,所以在代码之前加入

#ifndef __AFXWIN_H__
 #error include 'stdafx.h' before including this file for PCH
#endif

//---------------------------------------------------------------

#pragma once
#ifndef __AFXWIN_H__
    
#error include 'stdafx.h' before including this file for PCH
#endif

class __declspec(dllexport) cxyMessTest
{
public:
    cxyMessTest(
void);
    
~cxyMessTest(void);

    
void CxyShowMess(LPCTSTR mess);
};
//类的实现

#include 
"StdAfx.h"
#include 
".cxymesstest.h"

cxyMessTest::cxyMessTest(
void)
{
}

cxyMessTest::
~cxyMessTest(void)
{
}
void cxyMessTest::CxyShowMess(LPCTSTR mess)
{
    AfxMessageBox(mess,MB_OK,
0);
}

 接下为在 def文件中定义好要导出的函数

第三步在工程上调用
第一步:C++ application
第二步:拷贝生成的dll到debug目录下,
第三步:拷贝c++ dll的.h文件到app的目录下,并添加到 app中
第四步:#include "cxymesstest.h"
调用就可以了
cxyMessTest * test;
test=new cxyMessTest();
test->CxyShowMess("Hell world");

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:439824次
    • 积分:6101
    • 等级:
    • 排名:第4333名
    • 原创:178篇
    • 转载:40篇
    • 译文:1篇
    • 评论:28条
    最新评论