动态链接库生成及调用

原创 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);

就可以了

相关文章推荐

使用 CInternetSession 封装多线程 http 文件下载(转)

如何下载一个http文件?我们当然可以用socket自己实现http协议去做,但费时费力还易出bug,对于一个客户端程序稳定易维护是第一位的,所幸MS给我们提供了功能强大的internet API函数...
  • dragoo1
  • dragoo1
  • 2013年04月07日 11:08
  • 1839

使用 CInternetSession 封装多线程 http 文件下载

 使用 CInternetSession 封装多线程 http 文件下载作者:付黎 www.crazy-bit.com 源代码下载  如何下载一个http文件?我们当然可以用socket...

Linux-(C/C++)动态链接库生成以及使用(libxxx.so)

Linux中so文件为共享库,与windows下dll类似,不过实现要简单。 so可以供多个进程使用,不同进程调用同一个so文件,所使用so文件不用。 so文件源程序不需要main函数,有也不会被执行...

vc动态库生成与调用

  • 2009年02月17日 10:26
  • 46KB
  • 下载

链接库生成及使用简介

本博文对Linux系统上,链接库的创建及使用做了简单介绍,如有问题,请多多指教....

linux下静态链接库生成和使用

生成静态库   若当前已有以下.o文件: obj1.o obj2.o   则gcc指令如下:     ~$ ar -rsv libtest.a obj1.o obj2.o   ...

c++动态库生成与调用

一、生成动态库(含头文件、不含头文件) 以生成dllTest.dll为例(工程名为dllTest、 头文件名为dllTest.h、 源文件名为dllTest.cpp) 1、不含头文件的动态库 我们生成...

[android ndk]android studio动态库生成及jni底层调用步骤

android studio动态库生成及jni底层调用步骤,ndk开发系列教程

VS2010动态库生成及应用问题

此文章纯属自己记性不好记录用,勿喷。。。。 下面记录的是关闭vs2010导出类,以及导出类后的使用问题,由于有继承,导出类中包含动态库,所以记录以便以后查阅。 #ifndef _EXPORTI...

openssl动态库生成以及交叉编译

from  http://blog.csdn.net/andylauren/article/details/53456340 虚拟机环境 ubuntu12.04 开发板 EasyARM-i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态链接库生成及调用
举报原因:
原因补充:

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