导出C++ dll中的类

原创 2007年09月21日 23:41:00

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

怎样从一个DLL中导出一个C++类

 原文作者:Alex Blekhman 翻译:朱金灿  原文来源:http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx 译文来...
  • clever101
  • clever101
  • 2008年10月08日 16:58
  • 11109

从dll中导出c++类

简介: 动态库(DLL)从开始就作为windows平台的组成部分而存在。它以独立的模块把c函数封装起来供其他用户使用 。DLL从开始就是以封装C语言的形式而存在,当然现在你也可以封装其他语言,比如c...
  • amyeric
  • amyeric
  • 2014年08月01日 16:42
  • 3019

DLL导出类和导出函数

1、动态库DLL中的类或者函数有时候要被其他的库调用,因此需要被其他库调用的类或者函数需要进行导出。 2、首先编写需要导出的DLL,新建一个工程设置应用程序类型为DLL 3、类的代码如下 ...
  • goodluckMT
  • goodluckMT
  • 2016年09月28日 16:05
  • 3410

类静态变量的导出

现在一般工程都比较多,很多情况下都有基础的一些工具库,关于库的导出和其他工程引用这个库的时候有些需要注意的,这里记录一下,以便学习。 一般在要导出的库里都会有如下的宏定义:目的是代码简洁 #ifn...
  • mj511099781
  • mj511099781
  • 2015年08月19日 18:08
  • 526

C#如何调用C++编写的dll中的导出类

如果是非托管的,就用DllImport,举例     using System;     using System.Runtime.InteropServices;     class Main...
  • jefftian2008
  • jefftian2008
  • 2012年04月30日 22:36
  • 819

关于通过dll导出类模板和函数模板

动态链接库中导出模板函数 C++ 支持函数模板,利用函数模板,可以简化我们的程序代码。我在自己的代码中也经常用到函数模板,但是以前一直以为函数模板是要放到头文件中的,否则调用模板函数时,编译...
  • u014805066
  • u014805066
  • 2017年03月28日 11:38
  • 809

JNI引用C++dll若干问题总结-如何导出C++中的类成员函数

最近做项目使用JNI引用C++的dll,在此记录遇到的问题。1.如何导出C++中的类 大家都知道JNI只能导出全局函数,至少我搜索了好久都没看到过有导出类的,貌似不可以。当然如果可以就更好了。那么既...
  • birdflyto206
  • birdflyto206
  • 2016年09月14日 13:51
  • 732

C++ DLL导出类

在公司使用C++ 做开发,公司的大拿搭了一个C++的跨平台开发框架。在C++开发领域我还是个新手,有很多知识要学,比如Dll库的开发。    参考了很多这方面的资料,对DLL有一个基本全面的了解。有一...
  • JieTouLangRen
  • JieTouLangRen
  • 2013年11月02日 11:22
  • 9969

C++封装DLL,导出一个类

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • u014489699
  • u014489699
  • 2016年08月03日 16:16
  • 1666

DLL库类的导出,C#的调用

在DLL库的编写中,如果想要把DLL库中写的类导出,并且在C#中进行使用,我们需要先初始化获取类的指针,然后我们可以通过指针对类进行调用,使我们能正常的使用类中的功能。  #ifdef DLL_API...
  • u012432785
  • u012432785
  • 2016年08月01日 08:59
  • 280
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:导出C++ dll中的类
举报原因:
原因补充:

(最多只允许输入30个字)