58
|
Vineel Kumar Reddy · 技术社区 · 14 年前 |
![]() |
1
81
对于dll的导入库,.lib文件 不 包含任何实际代码。它基本上只包含关联dll中的函数列表——足够链接器将对该dll的引用嵌入到与库链接的某个对象中,但其他的就不多了。 exp文件是一个导出文件——基本上与.lib文件差不多。当你有一个循环依赖时,它被使用(至少主要是这样)。例如,假设您有一个DLL作为可执行文件的插件。可执行文件提供一些导出函数供插件DLL使用,但也需要能够调用插件中的某些函数(例如加载和初始化插件)。 在生成可执行文件以提供.lib文件之前,dll不会链接,但在生成dll以提供.lib文件之前,可执行文件不会链接。若要中断依赖关系,请针对可执行文件运行链接器,但该可执行文件失败(因为它找不到dll的.lib文件),但 将 生成.exp文件。然后将该dll链接到可执行文件的.exp文件。然后可以使用dll的.lib文件重新运行link以生成可执行文件。 |
|
irio lavagno · 应用程序和插件之间的库不匹配 1 年前 |
![]() |
Will · 嵌入链接器脚本-是否正确放置“堆栈”和“堆”区域? 6 年前 |
![]() |
Leo Brown · Eclipse/MinGW不会链接库 6 年前 |
![]() |
Som · 使用cmsis库中的fft例程时,引用未定义 6 年前 |
![]() |
Felix · 将仅标头库包含到多个文件中会产生链接器错误 6 年前 |
![]() |
FeelTheBurns · 未调用RISCV全局对象构造函数 6 年前 |