加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:46:39 所属栏目:百科 来源:网络整理
导读:我现在有一个让我感到困惑的问题: 我有一个用C编写的软件,它链接到C中的库.我使用通常的头文件类 extern "C" { #include libheader.h} 只要我不使用gcc的优化,一切正常.一旦我打开偶数-O1,即第一个优化级别,在运行期间我得到一个来自该库的符号的“未定义符
我现在有一个让我感到困惑的问题:
我有一个用C编写的软件,它链接到C中的库.我使用通常的头文件类
extern "C" {
    #include <libheader.h>
}

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

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

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

感谢您的支持.

解决方法

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

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

你尝试过功能吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读