动态链接库生成及调用

原创 2012年03月25日 14:16:46

一.生成

首先使用VS生成一个DLL的应用程序,如图:

方法一:

添加一个CPP的文件,作为例子,使用简单点的函数:

#include "stdafx.h"
#include <iostream>
using namespace std;
int Add(int p1,int p2)
{
	return p1+p2;
}


再新建一个项,类型选择DEF的:

;导出的库名
LIBRARY "MDLL"
声明导出对象及序号
EXPORTS Add @1


方法二:

如果不使用def也可以声明导出函数,方法是使用关键字:_declspec(dllexport)

extern "C" _declspec(dllexport) int Add(int a,int b)

其他根第一种方法一样.

然后按F7就可以生成lib及dll文件了.


二.调用

方法一:

调用的方法很简单,将上一步生成的lib及DLL文件放到当前项目的目录上,然后添加调用 lib及声明函数:

#pragma comment(lib,"MDLL.lib")
int Add(int a,int b);//声明函数

之后就可以像普通函数那样使用了Add了


方法二:

将方法一的声明函数改为:

extern "C"_declspec(dllimport) int Add(int a,int b);

就可以了

python调用dll文件接口

转载 在Python中某些时候需要C做效率上的补充,在实际应用中,需要做部分数据的交互。使用python中的ctypes模块可以很方便的调用windows的dll(也包括linux下的so等文...
  • DemonDe
  • DemonDe
  • 2017年07月09日 23:16
  • 2204

matlab自定义库

安装了matlab2014b后,突然发现Simulink Library Browser窗口中没有内容,找了一种方法添加进去,希望对有需要的朋友有所帮助!" z; E4 o& \9 J2 M/ p...
  • DemonDe
  • DemonDe
  • 2017年05月23日 23:29
  • 707

iOS中创建动态链接库及调用其方法

去年因需要用到动态库,自己就找了好多一些 资料,最终找到了一套方法,怎么创建与使用动态库,记录一下: Xcode提供了在iOS工程中创建静态库的功能,和在MAC上创建动态库和静态库的功能。 ...
  • rushiboruo
  • rushiboruo
  • 2016年02月17日 17:36
  • 807

C调用GO的动态链接库

1) GO源代码 [root@test129 test]# cat hello.go package main   import "C"   //export Hello func Hello() ...
  • louisaluo
  • louisaluo
  • 2016年08月30日 11:57
  • 257

动态链接库DLL的创建和使用

这里总结一下vs下创建dll并使用dll导出函数的方法,当然方法还有很多,找出一个自己比较习惯的方法就好! 隐式加载DLL方式 创建DLL工程       文件->新建->项目-...
  • zhengsx77
  • zhengsx77
  • 2014年02月10日 11:23
  • 2987

Matlab产生可供VC调用的动态链接库的一种方法

MATLAB通过deploytool生成可供VC调用的动态链接库的方法。
  • Arthur_ZHU
  • Arthur_ZHU
  • 2015年05月22日 10:13
  • 1819

VS2013 编写调用 动态链接库

VS2013 编写调用 动态链接库 说明: 学习资料:孙鑫C++教程19 动态链接库  。          生成dll文件:导出函数名会发生改变问题,可采用 extern " c"或模块定义 方法 ...
  • Sxx_vv_csdn
  • Sxx_vv_csdn
  • 2015年08月15日 22:30
  • 2070

Eclipse CDT生成、调用C动态库

(一) 生成动态库 1 创建动态库工程 File->New->Project->CProject->选择Shared Library,工程命名为test。   2 创建源代码文件 File-...
  • heron804
  • heron804
  • 2012年11月09日 18:55
  • 4273

VC++ 6.0如何创建与调用动态链接库

1.静态链接库与动态链接库区别:   静态链接库:lib中的指令被直接包含在最终生成的EXE文件中。   动态链接库:dll不必被包含在最终的EXE中,EXE文件执行时可以动态地引用和卸载...
  • wanghaihao_1
  • wanghaihao_1
  • 2016年04月08日 16:00
  • 2001

Linux 下动态链接库 *.so(生成、调用)

【摘要】动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,这里做个笔记。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件...
  • xy010902100449
  • xy010902100449
  • 2015年08月02日 09:34
  • 1218
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态链接库生成及调用
举报原因:
原因补充:

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