如何使用DLL动态文件

DLL文件的使用有显式链接(动态链接)和隐式链接(静态链接)

      (1) 显示链接:在项目程序中用代码显示加载dll文件

      准备的材料:dll文件

      具体步骤如下:

  •   调用 LoadLibrary(或相似的函数)以加载 DLL 和获取模块句柄。

  •  调用 GetProcAddress,以获取指向应用程序要调用的每个导出函数的函数指针。 由于应用程序是通过指针调用 DLL 的函数,编译器不生成外部引用,故无需与导入库链接。

  • 使用完 DLL 后调用 FreeLibrary

    (2)隐式连接:需要配置及添加相应的文件

    准备的材料:1.c++类声明的头文件(*.h),头文件中需要有_declspec(dllexport)、_declspec(dllimport)的声明。

                          2、要链接的导入库文件(*.lib).该文件是dll生成时链接器创建导入的库。

                          3、dll文件。

        当调用可执行文件的源代码被编译或被汇编时,DLL 函数调用在对象代码中生成一个外部函数引用。 若要

    析此外部引用,应用程序必须与 DLL 的创建者所提供的导入库(.lib 文件)链接。导入库仅包含加载 DLL 的代

    码和实现 DLL 函数调用的代码。 在导入库中找到外部函数后,会通知链接器此函数的代码在 DLL 中。

    所以如何生成导入库文件那?

           在生成dll文件中加入模块定义*.def文件,模块定义 (.def) 文件为链接器提供有关被链接程序的导出、特性及

    其他方面的信息。 生成 DLL 时,.def 文件最有用。内容如下:

    ; CreateDy2.def : 声明 DLL 的模块参数。

    LIBRARY      "CreateDy2"

    EXPORTS
        ; 此处可以是显式导出

    然后在链接器-》输入-》模块化定义中添加./CreateDy2.def.该文件放在程序主目录下。


     由此可以同时生成dll和导入库lib文件。

      在其他程序中引用dll时需配置如下事宜:

    1.在vs2010中在配置属性中-》c/c++-》常规-》附加包含目录:添加引用的头文件目录

    2.在vs2010中配置属性中-》链接器-常规:附加库目录:添加lib文件的路径。

    2.在vs2010中配置属性中-》链接器-》输入-》附加依赖项:添加导入库lib文件名

          具体实现代码如下可下载:

                      http://download.csdn.net/detail/woshizfs/5110181

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值