c – 静态库
发布时间:2020-12-16 09:37:43 所属栏目:百科 来源:网络整理
导读:当我想调用一些 Windows函数时,比如MessageBox,我可以从user32.dll导入它并调用(使用LoadLibrary和GetProcAddress).但是还有一个Visual C使用的静态库,所以我不需要手动加载DLL和函数.他们是如何工作的?它们是否包含每次调用函数时调用LoadLibrary / GetPro
当我想调用一些
Windows函数时,比如MessageBox,我可以从user32.dll导入它并调用(使用LoadLibrary和GetProcAddress).但是还有一个Visual C使用的静态库,所以我不需要手动加载DLL和函数.他们是如何工作的?它们是否包含每次调用函数时调用LoadLibrary / GetProcAddress的包装器?
解决方法
您所指的“静态库”实际上是一个
import library.这种类型的库包含的记录告诉链接器每个函数实际存在哪个库,并且本身不包含任何代码.链接器在可执行文件中创建导入记录,加载程序在加载时解析.这会修复运行时使用的地址,因此您的代码不需要显式调用LoadLibrary和GetProcAddress.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |