2016-07-28 41 views
0

我正在调试一个问题,只有当编译代码时使用-O3编译,而不是使用g ++编译-O1优化级别。代码的客户端由我的团队拥有,但我们调用的函数由另一个团队拥有并在共享库内交付。当我们的代码用-O1编译并调用函数时,它就可以工作。但是当我们的代码用-O3编译并调用函数时,函数会给出我们作为参数传递的结构的有效性的错误。你能链接用不同优化级别编译的目标文件吗?

我想知道是否有可能来自编译共享库与我们的客户端代码时使用的不同优化级别。

回答

3

不同的优化级别是完全合法的。最有可能的原因是,你有内存泄漏,并且代码的行为与不同的优化有所不同。

相关问题