*.h,*.dll库怎么用?

来源:百度知道 编辑:UC知道 时间:2024/06/27 12:25:26
我在vs2008中建了一个win32控制台程序项目,选择生成dll动态库,结果是个dll文件,那我该怎么使用这个库呢???静态库则生成lib文件,我怎么拿到别处去用呢??
*.lib没问题了,但是*.dll(我说的是只有*.dll,没有*.lib)有问题,在属性页-配置属性-链接器-输入-附加依赖项中加入了*.dll,在属性页-配置属性-链接器-常规-附加依赖项路径中加入了*.dll的路径. 是这个错误:"错误 1 fatal error LNK1107: 文件无效或损坏: 无法在 0x2A8 处读取".难道*.dll只能动态地加载吗?
我看一网上的资料,都说同时有*.h,*.lib,*.dll,但我的确只得到了*.dll,没有*.lib谁能解释一下啊.

附加依赖项 得是.lib 不是.dll

若生成了DLL ,则肯定也生成 LIB文件

简单说明下 H LIB DLL的关系:
H文件 作用是:声明函数接口
DLL文件 作用是: 函数可执行代码

当我们在自己的程序中引用了一个H文件里的函数,编链器怎么知道该调用哪个DLL文件呢?

这就是LIB 文件的作用: 告诉链接器 调用的函数在哪个DLL中,函数执行代码在DLL中的什么位置

这也就是为什么需要 附加依赖项 .LIB文件 ,它起到桥梁的作用。

如果生成静态库文件,则没有DLL 。。。

动态链接库的话题很复杂,情况有很多种。要讲清这些东西需要很大篇幅,一时讲不清讲不完,建议你看看MSDN中关于 进程 部分的讲述。