dll导出类

原创 2012年03月26日 11:40:07

dll导出类(仅能静态加载,不能动态加载?)

一,编程DLL(建win32DLL空工程)

a.编写。h文件

#ifdef _CLASSINDLL                                                                                         //使其能够有动态链接库程序自身来使用

#define CLASSINDLL_CLASS_DECL     __declspec(dllexport)
#else
#define CLASSINDLL_CLASS_DECL     __declspec(dllimport)
#endif


#include <iostream>
#include <string>
using namespace std;
#define LINE_SIZE 50
class CLASSINDLL_CLASS_DECL MyReadIni
{
 FILE *pfile;

public:
 int myReadString(char *szKeyWord, string &strResult, char *pFilePath=".\\config.ini");
 int myReadInt(char *szKeyWord, int &nResult, char *pFilePath=".\\config.ini");
};

 

b.编写实现文件。cpp

#define _CLASSINDLL
#include "INIDLL.h"
int MyReadIni::myReadString(char *szKeyWord, string &strResult, char *pFilePath)
{
 }

int MyReadIni::myReadInt(char *szKeyWord, int &nResult, char *pFilePath)
{
}

二,编程测试DLL(建win32空工程)

1.将dll工程中的dll文件和lib文件拷贝到测试工程目录下

a.编写。h文件

#ifdef _CLASSINDLL
#define CLASSINDLL_CLASS_DECL     __declspec(dllexport)
#else
#define CLASSINDLL_CLASS_DECL     __declspec(dllimport)
#endif


#include <iostream>
#include <string>
using namespace std;
#define LINE_SIZE 50
class CLASSINDLL_CLASS_DECL MyReadIni
{
 FILE *pfile;

public:
 int myReadString(char *szKeyWord, string &strResult, char *pFilePath=".\\config.ini");
 int myReadInt(char *szKeyWord, int &nResult, char *pFilePath=".\\config.ini");
};

 

b。编写。cpp文件

#include "test.h"

#pragma  comment(lib, "INIDLL.lib")         //将lib包含进工程,也可在工程-属性-连接器-输入-附加依赖项里添加INIDLL.lib

int main()
{
 MyReadIni tt;
 int port;
 tt.myReadInt("port",port);
 cout<<port<<endl;

 string username;
 tt.myReadString("username", username);
 cout<<username<<endl;

 system("pause");
 return 0;
}

 

 

 

 

 

 

 

相关文章推荐

用DEF文件从DLL中导出C++类

用DEF从DLL导出一个函数,或用__declspec(dllexport)指令从DLL中导出一类,想必大家已经很熟悉了,也经常使用着。这里向大家介绍一种 用DEF文件从DLL导出一个类的方法。具体...
  • zhu2695
  • zhu2695
  • 2013年03月23日 20:28
  • 470

如何做才能从dll中导出类

能不能在一个dll中定义一个类,然后在程序中动态链接这个dll,然后导出这个类呢?要用 MFC 的扩展DLL写倒出类定义//定义一个导出类class AFX_EXT_CLASS CMouseHook ...

DLL中导出类成员函数名称修饰意思解释大全

http://zfuwen.com/html_free/73.html DLL中导出类成员函数名称修饰意思解释大全 2、C++编译时函数(非类成员函数)名称修饰 当函数使用__c...

从dll中导出类

一、DLL的不同类型         使用MFC可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual   C++还可以生成WIN32   D...

从普通DLL中导出C++类

(转)Balon白话MSDN:从普通DLL中导出C++类(1) – dllexport和dllimport的使用方法(中英对照、附注解) 转于:http://bl...

从DLL中导出类

从DLL中导出类  前面介绍了怎么从DLL中导出函数和变量,实际上导出类的方法也是大同小异,废话就不多说了,下面给个简单例子示范一下,也就不多做解释了。 DLL头文件: #ifndef ...

如何从dll中导出C++类

说明:新建两个工程,其中一个是dll工程(我的示例程序中这个工程名为DllClass),另一个是测试和使用dll的工程(名字为DllClassTest)。 注意点:    1。Dll工程编译完...
  • zhu2695
  • zhu2695
  • 2013年03月23日 21:43
  • 553

DLL怎么样导出类,并在发布头文件屏蔽私有成员

创建了一个MFC extension DLL,添加类,定义如下: #ifdef XXXLIB #define XY _declspec(dllexport) #else if #def...

调用导出dll中的类成员函数 - error LNK2019: 无法解析的外部符号

/// // /*************************************************** ShareInterface.h -- interface of dll l...
  • Acheld
  • Acheld
  • 2016年01月29日 21:51
  • 679

动态调用有源码的DLL中的导出类

前言 动态调用DLL的好处: * 防止静态调用DLL不在报错 * 实现插件化编程 有源码的DLL可以添加接口 可以在DLL中加入建立类指针和释放类指针的接口, 不用自己去调用类构造和析构函数 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dll导出类
举报原因:
原因补充:

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