【问题标题】:ucrtbased.dll vs ucrtbase.dllucrtbase.dll 与 ucrtbase.dll
【发布时间】:2017-05-02 20:44:07
【问题描述】:

适用于 Windows10 的 C 运行时在 ucrtbase.dll 中提供。但他们也有基于 ucrt 的,即“调试版”。它究竟包含什么?如果我有 .pdb(公共符号),为什么我需要调试版本的 dll?

【问题讨论】:

标签: c windows visual-c++


【解决方案1】:

只是为了提供我所知道的。

  1. ucrtbase.dll 是使用最大优化编译的,而 ucrtbased.dll 不是。
  2. ucrtbase.dll 比 ucrtbase.dll 携带更多/不同的信息。他们正在帮助设置调试环境。 如果您尝试在其上运行“dumpbin”,则可以看到这些信息。 Fox 示例,如果您比较来自dumpbin /exports ucrtbased.dlldumpbin /exports ucrtbase.dll 的结果。如果您对输出进行比较: 你会发现有些导出的函数不一样,像这样:

    _wfullpath
    +_wfullpath_dbg
    _wgetcwd
    +_wgetcwd_dbg

    还有一些只能在ucrtbased.dll中看到,像这样:

    _utime32
    _utime64
    +_VCrtDbgReportA
    +_VCrtDbgReportW

    如需了解更多信息,您可以尝试使用不同的方式使用 dumpbin,看看您能找到什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2018-03-28
    相关资源
    最近更新 更多