文档章节

VS2015建立dll导出库以及导出函数

l
 lovyu
发布于 2017/05/24 15:03
字数 300
阅读 4
收藏 0

1、新建一个空的win32项目,运用程序类型选dll,附加选项选空然后完成。

2、在源文件里建立头文件和源文件可以放单独的目录下,(比如include目录)。

头文件代码如下:

#pragma once
#ifndef _ESBCONN_H_ 
#define _ESBCONN_H_ 

#ifdef  ESBCONN_DLL 
#define EXPORT_DLL _declspec(dllexport)
#else 
#define EXPORT_DLL _declspec(dllimport)
#endif 

class EXPORT_DLL EsbConn 
{
public:
 EsbConn(int _x, int _y);

public:
 void print();

private:
 int m_x;
 int m_y;
};

#undef EXPORT_DLL 

#endif 

 

源文件代码如下:

#include "EsbConn.h"
#include <iostream>

EsbConn::EsbConn(int _x, int _y)
 :m_x(_x), m_y(_y)
{

}

void EsbConn::print()
{
 std::cout  << "x:" << m_x  << "  y:" << m_y  << std::endl;
}

3、工程属性页配置,常规里配置输出目录(可配置lib文件目录供其他项目直接使用)及中间目录(编译产生的一些中间文件)。

4、工程属性页配置,在C\C++下的预处理器选项:预处理器定义新加:ESBCONN_DLL (头文件里的预定义。)

二、其他工程引用配置:

1、C\C++  附加包含目录:选择.h 文件所在目录如上面的clude.

2、链接器-》常规里附加库目录添加lib库文件目录。

3、 链接器-》输入添加....lib 文件。

4、拷贝dll

 

© 著作权归作者所有

共有 人打赏支持
l
粉丝 0
博文 2
码字总数 401
作品 0
常州
.dll,.lib,.def 和 .exp文件

简要的介绍一下在微软开发工具中(VC)静态链接库和动态链接库生成过程中出现的.dll .lib .def 和 .exp文件类型。windows平台上可执行文件可能是一个.exe文件也可能四个.dll文件。当然也有一...

晨曦之光
2012/04/13
793
0
VS2010 C++创建、调用DLL图解

以前做Java,这一段在捣鼓一个C++的项目,需要调用其他项目组做的DLL文件,现将创建和调用DLL的方法和步骤记录如下。 一、创建DLL 1、新建项目: Visual C++ -> Win32项目,名称:CnBlogsDLL ...

长平狐
2012/08/27
5.2K
1
__declspec(dllimport)

我相信写WIN32程序的人,做过DLL,都会很清楚declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指...

开心303
2011/07/21
0
0
HP-Socket很好用,如果C格式回调函数增加一个HP-Socket对象指针使用会更方便

我用Visual Prolog调用C格式的dll,HP-Socket很好用,服务端性能也很好,赞一个。只是在不同的TCP端口,建立多个HP-Socket对象,如果采用统一的回调函数(在Visual prolog中,对象函数不允许...

crow188
2014/05/18
457
2
vc调用matlab生成的C++dll库总结。

实验室的一个项目需要调用matlab程序。经过再三考虑,决定使用vc调用matlab导出库的形式。而我主要负责与matlab程序结合的工作。以下是今天工作的简要总结。全当是个备忘吧。 1:在matlab中选...

长平狐
2012/10/08
744
0

没有更多内容

加载失败,请刷新页面

加载更多

LSM-Tree 大数据索引技术

一、LSM-Tree概述 核心思想就是放弃部分读能力,换取写入能力的最大化。LSM-Tree ,这个概念就是结构化合并树(Log-Structured Merge Tree)的意思,它的核心思路其实非常简单,就是假定内存...

PeakFang-BOK
14分钟前
0
0
vue.js响应式原理解析与实现

从很久之前就已经接触过了angularjs了,当时就已经了解到,angularjs是通过脏检查来实现数据监测以及页面更新渲染。之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新...

peakedness丶
20分钟前
0
0
Weblogic补丁升级操作步骤

linux平台: weblogic1036 1:停止weblogic服务 2:打FMJJ补丁 a:获取weblogic_home目录并执行命令:export weblogic_home="/weblogic/wls1036_x64",(此目录一般为目录“user_projects”上...

fang_faye
33分钟前
0
0
04-《Apache Tomcat 9 User Guide》之部署项目

1.Introduction Deployment is the term used for the process of installing a web application (either a 3rd party WAR or your own custom web application) into the Tomcat server. 部......

飞鱼说编程
34分钟前
0
0
一位十年的老码农他眼中的区块链

大家可能已经听说过比特币、莱特币、以太币等等,以及它们作为一种新货币在市场上的潜力。 有趣的是,很多投资比特币的人也提到了区块链之类的东西。 显然,这项技术是比特币等其他东西的"基...

小刀爱编程
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部