0

我在mingw32项目中使用gc,遇到如下问题:程序静态链接时,没有问题,程序运行正常。但是,在将某些组件移动到 dll 后,程序崩溃了。有什么建议吗?问候, bostjanv

4

1 回答 1

0

boehm-gc 需要知道要扫描的数据根目录,每个 .dll 都有自己的数据部分,因此应该以某种方式注册。通常它应该自动注册(包括对于 mingw32,内部 GC_register_dynamic_libraries 函数负责 .dll 中的根发现和注册)。要查看注册了哪些数据根,请在加载 .dll 后插入 GC_gcollect() 和 GC_print_static_roots() 调用。如果您在 Windows 10 主机上运行 boehm-gc,请确保您的 libgc-1.dll 具有修复处理带有 PAGE_WRITECOPY 标志的 .dll 部分的补丁。

于 2019-03-19T22:17:40.293 回答