今日做一个小程序来练手
要求:做一个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 );
}
#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");