gpt4 book ai didi

C 调试打印宏不打印

转载 作者:行者123 更新时间:2023-11-30 19:09:07 25 4
gpt4 key购买 nike

我有这个宏和这个主要函数。

#define DEBUG_INFO(format, args...)  \
fprintf(stdout, "%12s: %3d: %s ", __FILE__, __LINE__, green), \
fprintf(stdout, format, ##args)


int32_t main()
{
if (server_init())
{
DEBUG_INFO("Child process wasnt created");
}
return 0;
}

当我的主要功能开始工作时。它将起作用 server_init() 的返回值。我也在 server_init() 中使用了 DEBUG_INFO 。宏行后。当在server_init()中时,宏没有写任何东西。但如果 server_init() 返回 False 值。那么main函数的宏就会写出错误。为什么宏在函数中不起作用。

最佳答案

您可以调用setbuf(stdout, NULL)来禁用stdout上的输出缓冲,或者您可以简单地输出一个\n来刷新输出缓冲区。第二种选择是更好的选择。

关于C 调试打印宏不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727437/

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