• DLL调用的两种方式(IDE:VC6.0,C++)


    原文:http://www.cnblogs.com/Pickuper/articles/2050409.html

    DLL调用有两种方式,一种是静态调用,另外一种是动态调用

    (一)静态调用

    静态调用是一种显式的调用方式,即在编程的时候便知道了被调用的DLL中的接口函数,在编译链接的时候将DLL与工程生成的exe相关联。以MyApp.dll为例,具体的操作步骤如下:

    (1)需要的文件有:MyApp.dll,MyApp.lib,MyApp.h

    (2)假设需要调用MyApp.dll的工程为MyTest,首先把MyApp.dll放到MyTest工程目录的Debug或者Release目录下,然后将MyApp.lib和MyApp.h放到MyTest工程目录的根目录下

    (3)用VC打开MyTest工程,选中工程,然后选择VC菜单下的Project->Settings

    (4)在弹出的对话框中选择Link选项卡,然后在Object/library modules输入框中输入MyApp.lib,点击OK

    (5)在工程的FileView下,将MyApp.h文件添加到Header Files目录下

    (6)最后在需要调用DLL中的函数的*.cpp文件中包含#include “MyApp.h”

    (二)动态调用

    动态调用是一种隐式的调用方式,即程序运行过程中装载DLL,然后获取指定函数名称的接口函数,然后再调用之。具体的代码示例如下:

    {

           HINSTANCE hDllInst = LoadLibrary("MyApp.dll");

           if(hDllInst)

           {

                  typedef DWORD (WINAPI *MYFUNC)(DWORD,DWORD);

                  MYFUNC youFuntionNameAlias = NULL;         // youFuntionNameAlias 函数别名

                  youFuntionNameAlias = (MYFUNC)GetProcAddress(hDllInst,"youFuntionName");           // youFuntionName 在DLL中声明的函数名

                  if(youFuntionNameAlias)

                 {

                        youFuntionNameAlias(param1,param2);

                 }

                 FreeLibrary(hDllInst);

           }

    }

  • 相关阅读:
    字符编码、文件处理
    列表、字典、元祖、集合
    数字类型、字符串、列表
    学习python的第一天作业
    python基础day2-函数基础2,2019-6-25
    python基础day2-函数基础,2019-6-25
    python基础day2-文件处理,2019-6-25
    python基础day2-流程控制,2019-6-25
    python基础day2-字典类型已内置方法,2019-6-25
    python基础day2-可变类型与不可变类型,2019-6-25
  • 原文地址:https://www.cnblogs.com/lizhigang/p/6893988.html
Copyright © 2020-2023  润新知