分享

VC++加载动态库和静态库

 jtll521 2011-07-29

一. 静态库包括.lib和.h文件,在工程中使用静态库分为3步:

<1> 在工程中加入静态库,有两种方法:

**方法一:项目设置中引用.lib,project-> setting-> link-> object/library modules中添加.lib;(需要在tools/options/Directories设置正确的引用路径)

**方法二:在项目中直接加入lib,project-> add to project-> files,选择正确的.lib。

<2> 在工程中包括.h文件;(可能 需要在tools/options设置正确的引用路径)

<3> 在工程中使用静态库中的函数;

二. 动态链接库一般包括.lib(导出函数),.h,.dll文件,使用动态库有两种情况:

a . 隐式链接,同使用静态库相似,分为三步:引用.lib(#pragma comment(lib, "##/##/mine.lib")或者项目设置中引用.lib,project-> setting-> link-> object/library modules中添加.lib),包含头文件,使用导出函数;

b. 动态加载,直接使用LoadLibrary 加载所需的动态库,然后指定所需的导出函数,效率最高!

三.关于lib文件:

开发DLL的时候,就会生成两个文件:LIB静态库文件(接口文件)、DLL动态库文件(程序文件).

LIB是提供DLL接口的文件,供编译器使用.

#pragma comment(lib, "##/##/mine.lib")
是使本工程加入mine.dll动态链表库的接口库文件,让本工程可以使用mine.dll中的函数
 
 
Windows 用来定位 DLL 的搜索路径

通过隐式和显式链接,Windows 首先搜索“已知 DLL”,如 Kernel32.dll 和 User32.dll。Windows 然后按下列顺序搜索 DLL:
1. 当前进程的可执行模块所在的目录(包含 EXE 文件的目录)。
2. 当前目录(进程的当前工作目录)。
3. Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。
4. Windows 目录。GetWindowsDirectory 函数检索此目录的路径。
5. PATH 环境变量中列出的目录。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多