我可以使用相当精细的打印功能来帮助我调试。不幸的是,它直接打印到指定的文件流,而不是返回一个字符串(它返回一些不相关的值)。当我在GDB中调用call
时,help call
似乎没有任何参数。是否真的无法隐藏call
命令的返回结果?还是有另一个我应该娱乐的命令?
答案 0 :(得分:0)
我们可以将函数的结果转换为void
以丢弃其值。
<强> callnoresult.c 强>
#include <stdio.h>
void pretty_printer() {
fprintf(stderr, "Hello world!\n");
}
int main() {
return 0;
}
然后,在终端:
gcc callnoresult.c -o callnoresult
gdb ./callnoresult
<gdb message>
b main
run
call (void) pretty_printer()
<"Hello world!">
有关演员的更多信息,请参阅What does casting to void
really do?
。