VC中调用动态链接库函数的标准方法

VC中调用动态链接库函数的标准方法,分为两类:隐式调用、显示调用。
第一种方法:隐式调用
隐式调用需要如下文件:
(1) DLL 函数声明头文件 MPC.h;
(2) 编译连接时用的导入库文件 MPC08.lib
(3) 动态链接库文件 MPC08.dll;
(4) 设备驱动程序 MPC08.sys;
以上文件中的(1)(2)两项可在 MPC08E 板卡应用程序安装目录“\MPC08
Develop\VC”文件夹下找到。(3)则已经由安装程序安装到 C:\WINDOWS
SYSTEM32 文件夹下。(4)已经由安装程序安装到 C:\WINDOWS\SYSTEM32
DRIVERS 文件夹下(假定 Windows 安装在 C:\WINDOWS 文件夹下)。
建立工程之后,在 VC 集成环境中点击“/project/settings…”菜单弹出“project
settings”对话框。选“Link”选项卡,在“object/library modules”栏内输入导入库
文件名 MPC08.lib,单击“OK”按钮。在调用 DLL 函数的源代码文件开始处包含
MPC.h 头文件。之后则可以按照调用内部函数一样调用 DLL 函数。
显式调用
显式调用只需要如下文件:
(1) 动态链接库文件 MPC08.dll;
(2) 设备驱动程序 MPC08.sys。
以上文件中(1)已经由安装程序安装到 C:\WINDOWS\SYSTEM32 文件夹下,
(2)已经由安装程序安装到 C:\WINDOWS\SYSTEM32\DRIVERS 文件夹下(假定
Windows 安装在 C:\WINDOWS 文件夹下)。
第二种:显式调用方法
需要调用 Windows API 函数加载和释放动态链接库。方法如下:
(1) 调用 Windows API 函数 LoadLibrary()动态加载 DLL;
(2) 调用 Windows API 函数 GetProcAddress()取得将要调用的 DLL 中函数的
指针;
(3) 用函数指针调用 DLL 中函数完成相应功能;
(4) 在程序结束时或不再使用 DLL 中函数时,调用 Windows API 函数
FreeLibrary()释放动态链接库。
该方法比较烦琐。MPC08E 软件中已经将常用的 MPC08.dll 中 DLL 函数封装成
类 CLoadDll,并提供该类的源代码。该类含有与运动指令库函数名及参数相同的成
员函数。源代码可在 MPC08E 板卡应用程序安装目录“\MPC08\ Develop\VC”文件
夹下找到,文件名为 LoadDll.cpp 和 LoadDll.h。开发人员可将其添加进工程,在程
序适当地方添加该类的对象,通过对应成员函数来调用 DLL 中的函数。

你可能感兴趣的:(VC中调用动态链接库函数的标准方法)