zha*_*min 5 dll shared-libraries static-libraries .lib
当我要建立我的开发环境(SDLSimple DirectMediaLayer),我下载了由该网站提供的包,从readme.txt文件中我发现,我既需要.lib和.dll...
我的问题是:
.libforwindows就像.afor linux,是静态库,而.dllforwindows就像.sofor linux,是共享库,这是正确的吗?.lib或.dll,因为它们所做的工作是相同的?那么为什么要在一个程序中同时获得两个呢?.dll,如果我的内存服务我是对的,好处之一shared library是它们可以在程序运行时更新,那么人们怎么能这样做,如果我们更新.dll文件,正在运行的程序怎么能得到知道的变化.dll并将其重新加载到内存中?在 VC 中,有两种库。
第一种是“真正的库”,由“静态库项目”生成,里面包含了所有可以链接和运行的东西,没有dll。
第二种是“导入库”,由“dll工程”生成,只包含link.exe需要的符号。您可以链接到该库,但您需要运行 dll。
有两种方法可以使用 dll。链接到“导入库”或“使用 LoadLibrary API”。
加载 dll 时不能更改 dll 文件。
但是如果你使用LoadLibrary加载dll,你可以使用FreeLibrary卸载dll,更改dll,然后使用LoadLibrary加载新的dll。当然,您需要监视一些东西来调用这个过程。
更简单的方法是,使用加载程序进行更新,然后加载真正的 exe。
| 归档时间: |
|
| 查看次数: |
760 次 |
| 最近记录: |