如何调用 DLL 中的函数
如何调用 DLL 中的函数
在 DLL工程中的 cpp中函数定义如下:
extern "C" _declspec (dllexport )
int add(int a, char b)
{
return a + b;
}
一:显示链接
调用的 DLL的主工程的 main文件中代码如下:
#include <stdio.h>
#include <Windows.h>
#include <tchar.h>
int main()
{
HMODULE hModule = NULL;
typedef int (*Func)(int a, int b);
// 动态加载 DLL 文件
hModule = LoadLibrary(_TEXT("..//Debug//FuncDll.dll" ));
// 获取 add 函数地址
Func fAdd = (Func)GetProcAddress(hModule, "add" );
// 使用函数指针
printf("%d/n" , fAdd(5, 2));
// 最后记得要释放指针
FreeLibrary(hModule);
return 0;
}
二:隐式链接:
调用的 DLL的主工程的 main文件中代码如下:
#include <stdio.h>
#include <Windows.h>
#include <tchar.h>
// 先把 lib 链接进来
#pragma comment (lib , "..//Debug//FuncDll.lib" )
// 外部声明的 add 函数
extern "C" _declspec (dllimport )
int add(int a, char b);
int main()
{
// 直接调用 add 函数
printf("%d/n" , add(5, 2));
return 0;
}
如何调用 DLL 中的函数相关推荐
- C#调用dll中的函数
C#调用dll中的函数 文章分类:操作系统 文章来源:http://blog.csdn.net/strmagic/archive/2007/11/02/1863462.aspx 大家在实际工作学习C# ...
- 天马行空W:在C++中调用DLL中的函数
1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...
- 通过GetProcAddress函数动态调用dll中地函数,是否必须通过extern C声明导出函数?(转)...
通过GetProcAddress函数动态调用dll中的函数,是否必须通过extern "C"声明导出函数? [已结贴,结贴人:darongtou] 如题,网上搜了N多资料,一直找不 ...
- 在C++中调用DLL中的函数
1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...
- 在C++中调用DLL中的函数(2)
本文转自:http://blog.sina.com.cn/s/blog_53004b4901009h3b.html 应用程序使用DLL可以采用两种方式: 一种是隐式链接,另一种是显式链接.在使用DLL ...
- GetProcAddress()函数动态调用DLL中的函数,是否必须通过extern C声明导出函数?
GetProcAddress()函数动态调用DLL中的函数,是否必须通过extern C声明导出函数? 通过GetProcAddress函数动态调用dll中的函数,是否必须通过extern " ...
- 如何调用DLL中的函数
如何调用 DLL 中的函数 在 DLL工程中的 cpp中函数定义如下: extern "C" _declspec (dllexport ) int add(int a, char ...
- 从零开始使用InnoSteup进行程序打打包以及调用dll中的函数
本示例涉及: 程序的打包和数字签名 InnoSetup的快速上手 以及一个产品从编译到安装的过程演示 首先,我提供一份InnoSteup的脚本文件,小伙伴们可直接使用这个脚本进行打包(不过得修改一下相 ...
- 调用 Dll 中的函数时,出现栈(STACK)的清除问题 - 故障模块名称: StackHash_0a9e
在一个名为 test.dll 文件中,有一个 Max() 函数的定义是: #ifdef BUILD_DLL #define DLL_EXPORT __declspec(dllexport) __std ...
最新文章
- SQL Server数据库开发的二十一条军规
- 稀疏数据分析:马蹄估计量及其理论性质
- 给程序媛妹子的4个贴心建议
- Linux学习总结(4)——Centos6.5使用yum安装mysql——快速上手必备
- 关于stack 和heap
- nginx上传目录配置,禁止执行权限
- 表格送货单自动编号vba_制作仓库入库单,自动登记商品数据,这段代码只需三步搞定...
- 多布局怎么搭建_展会搭建如何吸引人的注意力?
- 电脑前面耳机插孔没声音,后面有声音
- 淘宝天猫商城的推广方法大总结
- 【053】ImageDataGenerator() 介绍
- Centos7中MySQL的安装并设置开机启动
- 互联网 必须有免费的精神
- UV灯固化设备紫外能量值如何定期检测
- 电脑上照片如何压缩大小?怎么把照片在线压缩?
- <OS Concepts> 1- Intro
- 上海配眼镜的闭坑分享,配30副眼镜的资深眼镜控聊聊心得
- java控制扬声器发声_Linux 控制扬声器发声
- Visio 流程图-论文
- 数值优化:经典随机优化算法及其收敛性与复杂度分析