文档章节

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

l
 lovyu
发布于 2017/05/24 15:03
字数 300
阅读 6
收藏 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
811
0
VS2010 C++创建、调用DLL图解

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

长平狐
2012/08/27
5.3K
1
HP-Socket很好用,如果C格式回调函数增加一个HP-Socket对象指针使用会更方便

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

crow188
2014/05/18
463
2
__declspec(dllimport)

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

开心303
2011/07/21
0
0
在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试

在VS2015中先创建C#项目,然后再创建要编写的动态库DLL项目,这样做的好处是整个解决方案的编程环境是C#模式,这样就可以有很多智能的提示或快捷的编程方式在整个解决方案中都可以使用。 一:...

老朱教授
2017/11/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
10
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
17
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
10
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部