在C中,定义类似printf的宏的正确方法是什么,只有在定义了DEBUG符号时才会打印?
#ifdef DEBUG
#define DEBUG_PRINT(???) ???
#else
#define DEBUG_PRINT(???) ???
#endif
Run Code Online (Sandbox Code Playgroud)
哪里??? 是我不知道该填写什么的地方
我想要一个最小的o-damn-malloc-just-failed处理程序,它将一些信息写入文件(可能只是标准错误).我更喜欢使用fprintf()而不是write(),但如果fprintf()本身尝试使用malloc(),则会失败.
是否有一些保证,无论是在C标准,还是只是在glibc,fprintf不会这样做?