Gcc 如何正确使用内置返回地址

Gcc 如何正确使用内置返回地址,gcc,Gcc,我有一个调试功能,我使用的是内置的返回地址 作为 编译器抛出如下警告: 上述行的uu内置u返回u地址的参数不受支持 作为一个临时解决方案,我正在使用 \内置\返回\地址(0) 此项编译成功,但团队不接受 我在以下网站上搜索: 但在没有得到不支持的警告的情况下,仍然不知道如何使用它 有人能帮忙吗?一般来说,对于大于0的参数,您最好避免使用\u内置\u返回\u地址。在许多(大多数?)平台上,他们会(和其他平台上) 或者,尝试使用标准回溯库之一,例如libunwind或libbacktrace。您的

我有一个调试功能,我使用的是内置的返回地址

作为

编译器抛出如下警告: 上述行的uu内置u返回u地址的参数不受支持

作为一个临时解决方案,我正在使用
\内置\返回\地址(0)

此项编译成功,但团队不接受

我在以下网站上搜索:

但在没有得到不支持的警告的情况下,仍然不知道如何使用它


有人能帮忙吗?

一般来说,对于大于
0
的参数,您最好避免使用
\u内置\u返回\u地址。在许多(大多数?)平台上,他们会(和其他平台上)


或者,尝试使用标准回溯库之一,例如libunwind或libbacktrace。

您的目标体系结构是什么?你能用更多的信息来修正你的问题吗?@FlorianWeimer嗨,我的基本要求是从堆栈中自下而上提取4个地址。我尝试使用
backTrace()
,但没有为平台定义execInfo.h。知道吗?再说一遍,你的平台是什么?请在您的问题中包含此信息。@AmninderSingh只需在谷歌上搜索“libbacktrace示例”。
__built_in_return_address(4); 
__built_in_return_address(3);
__built_in_return_address(2);
__built_in_return_address(1);