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

2014-06-08 21:03
策略和技术

DLL技术应用03

让编程改变世界

Change the world by program

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中的Max和Min函数,要求分别使用隐式调用和显式调用来实现。

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

视频下载
技术, IT技术, Delphi, 视频教程

点击切换 到互动模式(当前为阅读模式)