首页 > 解决方案 > 为什么在使用 ICC 双端编译器编译时,变量和函数会以“__be_”为前缀?

问题描述

我已经使用 ICC 双端编译器编译了我的 C 代码。

我正在使用GDB 8.1.3, 进行调试。

当我用我的图像作为输入文件运行 GDB 并给出一个函数名来放置断点时,它不接受。它会抛出一条消息,例如-

Function "myFunction" not defined.
Make breakpoint pending on future shared library load? (y or [n]) 

但是,如果我尝试通过预先固定函数名称来放置断点,__be_那么它接受 -

(gdb) b __be_myFunction
Breakpoint 2 at 0x7777777b72347e: file ../abc/efg/src/source_file.c, line 123.

我无法理解__be_这里的意义是什么?为什么 GDB 不能按原样理解函数名?

注意:对于旧版本的GDB - 7.2.2,我可以按原样放置带有函数名称的断点;并且不必在它前面加上__be_

标签: cgdbendianness

解决方案


推荐阅读