【问题标题】:*.lib - static or not?*.lib - 静态与否?
【发布时间】:2011-10-19 18:39:05
【问题描述】:

我将一些源文件编译成单独的 *.obj 模块,然后将它们链接到 *.lib 静态库并与另一个可执行文件链接在一起。 Windows 操作系统如何处理这种情况,我的意思是它总是将整个可执行文件加载到内存中,还是只加载运行时需要的部分?

我问这个问题,因为我使用的分析程序(代码覆盖率)没有覆盖它应该覆盖的所有文件,所以看起来 lib 文件的某些部分在程序执行时不在内存中。

【问题讨论】:

    标签: shared-libraries static-libraries


    【解决方案1】:

    可执行文件在执行时通过文件映射对象进行映射。因此,从技术上讲,只有实际使用的 exe 页面才会从磁盘加载。

    【讨论】:

    • 有没有办法强制我的操作系统将所有内容加载到内存中?否则代码覆盖的结果将永远不可信。
    猜你喜欢
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多