C++ 是否可以链接使用不同优化级别编译的对象文件?

C++ 是否可以链接使用不同优化级别编译的对象文件?,c++,optimization,g++,C++,Optimization,G++,我正在调试一个问题,该问题仅在代码使用-O3编译时出现,而不是使用g++编译-O1优化级别时出现。代码的客户端由我的团队拥有,但我们调用的函数由另一个团队拥有,并在共享库中交付。当我们的代码用-O1编译并调用该函数时,它就工作了。但是,当我们的代码使用-O3编译并调用函数时,函数会给出有关作为参数传递的结构的有效性的错误 我想知道,在编译共享库时使用的优化级别与我们的客户端代码时使用的优化级别是否可能不同。不同的优化级别是完全合法的。最可能的原因是内存泄漏,并且代码的行为因不同的优化而不同 不同

我正在调试一个问题,该问题仅在代码使用-O3编译时出现,而不是使用g++编译-O1优化级别时出现。代码的客户端由我的团队拥有,但我们调用的函数由另一个团队拥有,并在共享库中交付。当我们的代码用-O1编译并调用该函数时,它就工作了。但是,当我们的代码使用-O3编译并调用函数时,函数会给出有关作为参数传递的结构的有效性的错误


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

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

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