我有以下单元测试代码,该代码基本上是通过序列化和反序列化来复制对象的:

FloatMat mat2;
assert(mat2.ParseFromString(mat.SerializeAsString()));

cout << mat.vec_size() << "\n";
cout << mat2.vec_size() << "\n";


当使用cmake调试模式构建时,它可以提供预期的效果:

2
2


但是当使用cmake发布模式构建时,它提供了:

2
0


我对发布模式的构建不是很熟悉,请帮忙!谢谢!

最佳答案

由于您在mat2宏中填充了assert(仅在调试版本中对其进行评估)

10-06 05:48