文档章节

c++如何生成动态链接库并显示调用

稀饭桶子
 稀饭桶子
发布于 2013/09/19 19:44
字数 242
阅读 1583
收藏 4

以下代码的测试环境 vc++6.0

步骤    1.创建Dll工程

          2.创建用来调用Dll的测试工程

1.  创建Dll工程

    a.用vc++6.0创建一个dll(Dynamic~Link Library)工程

    b.代码:

    

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    return TRUE;
}


extern "C" __declspec(dllexport)  int  add(int x,int y)
{
	return x+y;
}

extern "C" 表示在链接库里面生成原模原样的函数,方便调用
__declspec(dllexport) 表示dll导出的调用约定

编译成功后,Debug目录下会出现一个与工程名.dll


2.创建用来调用Dll的测试工程

    a.创建一个控制台程序

    b.将上面生成的dll拷贝到该工作目录下

    c.代码

#include <iostream>
#include <windows.h>

using namespace std;

typedef int (*ExternAdd)(int ,int);
int main(int argc, char* argv[])
{
	HINSTANCE hi=LoadLibrary("Dll2.dll");
	if(hi==NULL)
	{
		cout<<"不能加载动态链接库"<<endl;
	}
	ExternAdd p=(ExternAdd)GetProcAddress(hi,"add");
	cout<<p(1,2)<<endl;
	FreeLibrary(hi);
	return 0;
}


 

© 著作权归作者所有

共有 人打赏支持
稀饭桶子
粉丝 10
博文 37
码字总数 6033
作品 0
漳州
基于Visual C++6.0的DLL编程实现

基于Visual C++6.0的DLL编程实现 一、前言 自从微软推出16位的Windows操作系统起,此后每种版本的Windows操作系统都非常依赖于动态链接库(DLL)中的函数和数据,实际上 Windows操作系统中几乎...

晨曦之光
2012/03/09
0
0
如何为Android,Mac和Windows平台创建Java JNI动态链接库

Java Native Interface (JNI) 是Java和C/C++之间的桥梁。在一些情况下,为了提高Java程序的性能,扩展Java程序的功能,我们需要使用JNI。比如数据库的调用,当我们下载一个JDBC的jar包之后,...

yushulx
2014/09/17
0
0
C#调用C++动态链接库方法介绍 - 51CTO.COM

当VC等调用C#写的COM时,用regasm /tlb生成TLB文件,也可用tlbexp.exe,在VC等中加载TLB文件,当用C#调用VC等写的COM时,用tlbimp.exe,你可以写一个程序调试一下 下面介绍C#调用C++动态链接库...

薛向阳
2010/06/23
0
0
VS2010 如何release 生成exe

点击生成-->配置管理器-->活动解决方案配置下拉菜单中选择Release。 使用VS2010编译的程序在windows xp中运行时 经常会出现找不到 相关的DLL文件,我们可以使用静态编译的方法把这些运行依赖...

小青_1989
2014/04/08
0
0
在VC中创建DLL文件的方法步骤

在VC中创建DLL文件的方法步骤 今天教大家在VC中创建DLL文件的方法步骤,一起来学习一下,并不是很难的,相信聪明的你一看就会。 一.Win32动态链接库 1.制作的步骤: (1)新建WIN32 Dynamic-l...

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SSM框架整合Shiro后的开发

手摸手教你SSM框架整合Shiro后的开发 前面,我们学习了Shiro实现权限管理之表结构设计以及JQuery-Ztree.js使用范例 ,接下来就详细介绍一下SSM框架整合Shiro框架后的开发。同样推荐大家参看张...

TyCoding
7分钟前
0
0
Vivado使用误区与进阶

vivado的相关认知。xilinx的专家写的文章。

whoisliang
13分钟前
0
0
使用Nagios打造专业的业务状态监控

想必各个公司都有部署zabbix之类的监控系统来监控服务器的资源使用情况、各服务的运行状态,是否这种监控就足够了呢?有没有遇到监控系统一切正常确发现项目无法正常对外提供服务的情况呢?本...

37丫37
14分钟前
1
0
自定义操作RxJava 学习笔记

二十三,有点让我想起《风云》里面的剑二十三式 RxJava提供了一套非常强大的操作集。如果计算所有重载次数,Rx上的运算符数量超过300。其中少数运算符必不可少,这意味着没有它们就无法实现R...

woshixin
30分钟前
0
0
mysql视图

测试表:user有id,name,age,sex字段 测试表:goods有id,name,price字段 测试表:ug有id,userid,goodsid字段 视图的作用实在是太强大了,以下是我体验过的好处: 作用一: 提高了重用性,...

郭周园
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部