当前位置: 首页 > news >正文

DLL导入

DLL导入方式

一、__declspec(dllimport)与__declspec(dllexport)相呼应

二、LoadLibrary、GetProcAddress方式

方式一、__declspec(dllimport)

  1、此方式与__declspec(dllexport)相对应,一般有如下定义:

#ifdef DLLWRAP_EXPORTS
#define DLLWRAP_API __declspec(dllexport)
#else
#define DLLWRAP_API __declspec(dllimport)
#endif

 

  因此只要不定义DLLWRAP_EXPORTS即可

  2、把生成dll对应的lib文件作为依赖库,exe运行时将自动链接dll。


方式二、LoadLibrary、GetProcAddress

  1、LoadLibrary(dllName)

  2、从dll获取函数指针,然后调用。

typedef void (*pfn)(void);
HMODULE pDllHandle = ::LoadLibrary(szDllFile);
if(pDllHandle != NULL)
{	
	pffunc = (pfn)GetProcAddress(pDllHandle, szFunctionName);	
	if( !pfCreateDataAgent )
	{
		FreeLibrary(pDllHandle);
	}
}

 

转载于:https://www.cnblogs.com/coderyoyo/archive/2010/11/05/1869740.html

相关文章:

  • 机械版CG 附加实验1 中点画线算法
  • N多JPG图片如何转换成PDF文档
  • PHP反射的一些特性
  • 思维导图培训六:思维导图的用途
  • dedecms模版制作使用方法
  • [CCIE历程]CCIE # 20604
  • 关于 TApplication 详解 四 ---- TControl
  • mockcpp testngpp在2010.7~11月的改进
  • 我想了解一下嵌入式软件开发
  • EP2C8Q PLL深入浅出解析
  • OSPF的虚连接
  • 第一周上课总结
  • 这些道理不懂,你注定就是穷打工的命!
  • 点评2009年PHP十大图书(1)
  • Facebook将推出自己的浏览器
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 30天自制操作系统-2
  • CentOS7简单部署NFS
  • CSS魔法堂:Absolute Positioning就这个样
  • js对象的深浅拷贝
  • Spring Cloud中负载均衡器概览
  • 力扣(LeetCode)21
  • 前端面试总结(at, md)
  • 驱动程序原理
  • 人脸识别最新开发经验demo
  • 深度解析利用ES6进行Promise封装总结
  • 使用 @font-face
  • 协程
  • 写给高年级小学生看的《Bash 指南》
  • 一些关于Rust在2019年的思考
  • 责任链模式的两种实现
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (初研) Sentence-embedding fine-tune notebook
  • (动态规划)5. 最长回文子串 java解决
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (一)Linux+Windows下安装ffmpeg
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (原創) 物件導向與老子思想 (OO)
  • (转)fock函数详解
  • (转)jdk与jre的区别
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .net6 webapi log4net完整配置使用流程
  • .NET6实现破解Modbus poll点表配置文件
  • .NET中的十进制浮点类型,徐汇区网站设计
  • @property括号内属性讲解
  • @Query中countQuery的介绍
  • @synthesize和@dynamic分别有什么作用?
  • [1]-基于图搜索的路径规划基础
  • [Android]RecyclerView添加HeaderView出现宽度问题