我有一些文件。我们称之为Msg.proto
我使用 Google 的 Protocol Buffer protoc.exe 编译器来获取我的 proto 文件,它会生成一个Msg.h文件,其中包含Msg类的定义。
当我删除一个Msg对象时,释放内存可能需要很长时间(当附加了调试器时)。这是因为它使用的是 STL 调试库。因此,我想在删除Msg对象时禁用 STL 调试,但我想为我的项目的其余部分保留 STL 调试。这导致我考虑关闭Msg.h和 Google Protocol Buffer 项目的 STL 调试信息(因为这由Msg类使用,并且仅由Msg类使用)。
这意味着什么?
我的猜测是:
- 使用 STL 调试信息创建的任何 STL 对象都不能传递到Msg的任何函数/构造函数/等,因为这意味着如果 STL 库随后被传递给代码的一部分,则创建的 STL 对象只有一个版本使用不同版本的 STL 库
- 其他的?