我正在调试一个问题,该问题仅在使用-O3编译代码但不使用g ++编译-O1优化级别时出现。代码的客户端由我的团队拥有,但我们调用的函数由另一个团队拥有并在共享库中提供。当我们的代码使用-O1编译并调用该函数时,它可以工作。但是当我们的代码用-O3编译并调用函数时,该函数会给出我们作为参数传递的结构的有效性错误。
我想知道在编译共享库与客户端代码时使用的不同优化级别是否可能出现问题。
答案 0 :(得分:3)
不同的优化级别完全合法。最可能的原因是,您有内存泄漏,并且代码的行为因不同的优化而不同。