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;
}

 

 

 

 

 

 

 

DLL导出类和导出函数

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

DLL入门浅析(4)——从DLL中导出类

DLL头文件:#ifndef _DLL_SAMPLE_H #define _DLL_SAMPLE_H // 通过宏来控制是导入还是导出 #ifdef _DLL_SAMPLE #define...
  • cbacq
  • cbacq
  • 2016年04月26日 09:04
  • 1274

从dll中导出c++类

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

C++动态库(Dll)的制作,导出类

1、完成类的封装: 如:CMyTestClass类/// CMyTestClass.h头文件中 /**************************************************...
  • bao_bei
  • bao_bei
  • 2016年06月03日 16:24
  • 2574

MFC扩展DLL导出对话框类的实现---VS2005

基于深入浅出讲的比较泛,根据找到的网上的资料的修改,因为真正实践发现不少资料有小bug。总结出下面两个例子: Demo 1 点击较多的这篇MFC扩展DLL导出对话框类,做了少量修改 【在网上看了一...
  • shannonDJ
  • shannonDJ
  • 2016年03月13日 23:40
  • 1642

Qt导出C++类和Qt静态方式加载DLL

本文主要介绍如何使用QCreator新建包含Qt库的C++导出类(DLL)和如何在Qt工程中调用DLL中的C++类。整个实验的步骤如下: 一、宿主工程(调用者) 1,打开QCreator,新建一个...
  • Sagittarius_Warrior
  • Sagittarius_Warrior
  • 2016年12月13日 16:25
  • 1599

C++ DLL总结—静动态调用、导出类

1、 DLL的概念 DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。 静态链接库与动态链接库的区别: (1)静态链...
  • WaitForFree
  • WaitForFree
  • 2014年07月19日 11:03
  • 4244

c#调用C++写的dll导出类,如何实现

网上看了一些都是调用c++写函数能不能实现c#使用c++写的类各位高手请赐教 解决方案 » 类的有一个成员函数,是返回这个类的指针,那么在C#里面就是一个INTPTR,它是什么你不用管。然后C++...
  • CCCstudyer
  • CCCstudyer
  • 2014年11月21日 14:17
  • 4052

C++ DLL导出类

C++ DLL导出类 http://blog.csdn.net/jietoulangren/article/details/14052533 在公司使用C++ 做开发,公司的大拿搭了一个C++的跨平...
  • CSDNMicrosoftCSDN
  • CSDNMicrosoftCSDN
  • 2016年03月21日 16:37
  • 2054

动态链接库(DLL)总结---从DLL中导出类(6)

我们创建一个工程动态链接库,名称为DLL1,然后在DLL1.h中添加代码如下: #ifdef DLL1_API_IMP #else #define DLL1_API_IMP __declspec...
  • oBuYiSeng
  • oBuYiSeng
  • 2015年12月01日 08:50
  • 1639
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dll导出类
举报原因:
原因补充:

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