call setbuf(stdout, NULL): 当前上下文中没有符号“NULL”

CDT*_*CDT 7 c null gdb

如果我想NULLgdb's call 语句中使用标识符应该怎么做?

是因为我没有在 gdb 中包含 stdio.h 吗?

我试过:call #include <stdio.h>但这似乎不起作用。

Jes*_*ter 6

只需使用0(void*)0。没有什么花哨。


alk*_*alk 5

NULL 是一个 C 定义,在某处定义为:

#define NULL ((void *) 0)
Run Code Online (Sandbox Code Playgroud)

NULL被 C 预处理器替换为((void *) 0). 所以它永远不会传递给编译器,所以你不能在gdb.

所以按照Jester 的建议去做,只需使用(void *) 0.