当前位置:鱼C工作室 >Delphi > 查看文章

DLL技术应用03 – 零基础入门学习Delphi46

DLL技术应用03

 

让编程改变世界

Change the world by program


 

DLL的加载和调用

 

DLL的加载和调用

DLL的加载和调用

 

静态载入 DLL

 

静态载入 DLL

静态载入 DLL

 

静态载入 DLL 的前提是在编译之前已经明确知道要调用 DLL 中的哪几个函数,编译时在目标文件中只保留必要的链接信息,而不包含 DLL 函数的代码。

在程序执行时, 利用链接信息加载 DLL 函数代码并在内存中将其链接进入调用程序的执行空间,从而实现了代码的重用。

 

动态载入 DLL

 

动态载入 DLL

动态载入 DLL

 

方法是:

 

用 LoadLibrary 函数加载动态链接库到内存,用 GetProcAddress函数动态获得 DLL 函数的入口地址。

当一个 DLL 文件用 LoadLibrary 显式加载后,在任何时刻均可以通过调用 FreeLibrary 函数显式地从内存中把它给卸载。

 

动态载入方式是指在编译之前并不知道将会调用哪些DLL函数,完全是在运行过程中根据需要决定应调用哪些函数。

动态调用使用的 Windows API 函数主要有3个,分别是LoadLibrary(SafeLoadLibrary)、GetProcAddress和FreeLibrary。

小甲鱼在论坛发帖详细介绍这三个函数的功能,因为无论学习编程还是逆向这是三个函数都是非常常用滴:http://bbs.fishc.com/thread-33485-1-1.html

 

调用 DLL 中的过程和函数

 

调用DLL中的过程和函数

调用DLL中的过程和函数

 

强化练习

 

编写一个应用程序,调用上节课所建立的DLL中的Max和Min函数,要求分别使用隐式调用和显式调用来实现。

参考代码:http://bbs.fishc.com/forum-113-1.html


为您推荐

报歉!评论已关闭.