前端之家收集整理的这篇文章主要介绍了
c – GCC优化在运行时产生“未定义的符号”,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在有一个让我感到困惑的问题:
我有一个用C编写的软件,它
链接到C中的库.我使用通常的头
文件类
extern "C" {
#include <libheader.h>
}
只要我不使用gcc的优化,一切正常.一旦我打开偶数-O1,即第一个优化级别,在运行期间我得到一个来自该库的符号的“未定义符号”错误.但是,该名称已经过了名称修改,应该禁用外部“C”的原因.
如果这很重要,则会内联调用有问题符号的函数.使用的编译器是gcc 4.4.3.
老实说,我甚至不知道要搜索什么,所以如果你们中的一个人能给我一些这种行为的理由,我将非常感激.
感谢您的支持.
是否有可能定义
调用内联
函数的头包含没有extern“C”包装的库的头,以及使用包装行的其他地方?
你有没有试过像-O2这样的其他关卡?
你尝试过功能吗?
原文链接:https://www.f2er.com/c/239691.html