我爱电脑技术论坛's Archiver

bbs23 发表于 2008-3-29 10:54

在VC中链接动态链接库的方法简要说明

 方法一:windows提供了一套函数,用于加载动态链接库中的符号(函数和变量),调用这些函数去加载:
2\f;Wv0g}3gx
!}p,F.V5|Z7y.t   1. HINSTANCE LoadLibrary( LPCTSTR lpLibFileName);
/jR y$G;`$T\H W :_@&j.~8}P)U
  2. FARPROC GetProcAddress( HMODULE hModule, LPCWSTR lpProcName);
W(ZU%hF_
llVpM E   3. BOOL FreeLibrary( HMODULE hLibModule);
4pDH1C$JM
Cb%^6P7}.Zun'dH,u   这最直观的一种方法,同时也是最麻烦的一种办法。
_$yz o*mU4^V5G
,?/qA}e C\ v   方法二:让调用者的工程依赖于动态链接库工程。步骤如下:b \{7l{sJA
bnuIe;]H(q)e
  1. 让调用者的工程处于active状态下。q0PR7Y2OxS1b:v5[

6q#w2Z-v3Q0k!g   2. 打依赖设置对话框:Project-->dependencies。TL?y6E5{_'Smz
Dr u%Vv0u
  3. 选择动态链接库工程。lz7|;u!o[@N
;| @_#w'|-z-G3r-lYw
  这种方法比较方便,但要求有DLL的项目文件。zHDy8G'Wam

B"|kl/A2U-I   方法三:直接把动态链接库产生的.lib文件加入到调用者的工程中。
~j,K)c#m@nc f p_gx?.k
  方法四:进入Link设置:Project-->settings-->Link,选择Categery中的Input,在object/library modules里输入的动态链接库对应的.lib文件名,在Additional library path中输入动态链接库对应的.lib的路径。
z[$l _ D|p
H@o [r&@   方法五:#pragma (lib, "filename.lilb")

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.