嗨,我正在使用一个全局覆盖新/删除的库.但是这个库有问题,问题是它必须在main函数中手动初始化.
现在我正在尝试使用另一个在调用main之前初始化一些函数的库,不幸的是这个库在这些函数中使用new.所以我得到错误,因为使用重写的new/delete关键字的内存管理器尚未初始化.
我真的很想使用默认的内存管理器,因为我想将单元测试添加到这个库中.使用我想要测试的库所使用的内存也没有多大意义,我的单元测试库也使用了这个内存.
所以我的问题是,当包含第二个库并且只使用默认的new/delete时,是否可以忽略全局覆盖的new/delete?
我在Windows 7上使用visual studio 2010和标准的C++编译器.
您可以将内存管理器的初始化从 main 放入共享库吗?
如果可能的话,您可以尝试强制库的初始化顺序(通过依赖项)在加载其他任何内容之前加载(并初始化)内存管理器。然而,这是一个非常脆弱(或特定)的解决方案,因为它将依赖于特定于平台的解决方法来强制共享库的初始化顺序。
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |