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

问题描述 投票:5回答:3

如果我想在NULL的通话说明中使用标识符gdb,该怎么办?

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

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

c null gdb
3个回答
3
投票

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


4
投票

NULL是C定义,定义为:]]

#define NULL ((void *) 0)

NULL被C预处理器替换为((void *) 0)。因此它永远不会传递给编译器,因此您不能在gdb中使用它。

按照Jester

的建议进行操作,只需使用(void *) 0

1
投票

当前的GCC和GDB可以看到定义,但是必须使用-ggdb3进行编译,-g是不够的。

© www.soinside.com 2019 - 2024. All rights reserved.