概述当我想调用一些 Windows函数时,比如MessageBox,我可以从user32.dll导入它并调用(使用LoadLibrary和GetProcAddress).但是还有一个Visual C使用的
静态库,所以我不需要手动加载DLL和函数.他们是如何工作的?它们是否包含每次调用函数时调用LoadLibrary / GetProcAddress的包装器? 您所指的“静态库”实际上是一个 impor 当我想调用一些 Windows函数时,比如MessageBox,我可以从user32.dll导入它并调用(使用Loadlibrary和GetProcAddress).但是还有一个Visual C使用的静态库,所以我不需要手动加载DLL和函数.他们是如何工作的?它们是否包含每次调用函数时调用Loadlibrary / GetProcAddress的包装器?解决方法 您所指的“静态库”实际上是一个
import library.这种类型的库包含的记录告诉链接器每个函数实际存在哪个库,并且本身不包含任何代码.链接器在可执行文件中创建导入记录,加载程序在加载时解析.这会修复运行时使用的地址,因此您的代码不需要显式调用Loadlibrary和GetProcAddress. 总结
以上是内存溢出为你收集整理的c – 静态库全部内容,希望文章能够帮你解决c – 静态库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)