gpt4 book ai didi

c - LVM2 源代码中单独一行的 "stack;"在 C 中是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 15:54:36 25 4
gpt4 key购买 nike

语句是什么:

        stack;

靠自己一行,在LVM2源代码中使用是什么意思? https://www.sourceware.org/lvm2/

        if (!_mountinfo_parse_line(buffer, &maj, &min, target) ||
!read_fn(buffer, maj, min, target, cb_data)) {
stack;
r = 0;
break;
}

我在 gdb 中看到语句“stack;”编译为:

lea    r8,[rip+0x936db]        # 0xdd704
lea rsi,[rip+0xa2f5d] # 0xecf8d
xor ecx,ecx
mov edx,0xb37
mov edi,0x7
xor eax,eax
call 0x80950 <print_log>

我还注意到我无法将结果分配给变量:

错误:void 值没有被忽略,因为它应该被忽略

不能调用 stack() 或给定参数,例如堆栈(0):

错误:调用的对象不是函数或函数指针

我还尝试通过 grep 浏览“stack”的源代码以查看它是如何派生或定义的,但我找不到它。

最佳答案

为您找到了。它是 lib\log\log.h 中的一个宏。

第 90 行 - #define stack log_debug("<backtrace>") /* Backtrace on error */

关于c - LVM2 源代码中单独一行的 "stack;"在 C 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com