c – GCC优化在运行时产生“未定义的符号”

前端之家收集整理的这篇文章主要介绍了c – GCC优化在运行时产生“未定义的符号”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在有一个让我感到困惑的问题:
我有一个用C编写的软件,它链接到C中的库.我使用通常的头文件
extern "C" {
    #include <libheader.h>
}

只要我不使用gcc的优化,一切正常.一旦我打开偶数-O1,即第一个优化级别,在运行期间我得到一个来自该库的符号的“未定义符号”错误.但是,该名称已经过了名称修改,应该禁用外部“C”的原因.

如果这很重要,则会内联调用有问题符号的函数.使用的编译器是gcc 4.4.3.

老实说,我甚至不知道要搜索什么,所以如果你们中的一个人能给我一些这种行为的理由,我将非常感激.

感谢您的支持.

解决方法

是否有可能定义调用内联函数的头包含没有extern“C”包装的库的头,以及使用包装行的其他地方?

你有没有试过像-O2这样的其他关卡?

你尝试过功能吗?

猜你在找的C&C++相关文章