控制如何显示或记录断言失败消息

时间:2016-10-31 11:15:34

标签: c macos assert

有没有办法控制失败断言(assert.h)的消息显示方式?

在OS X上,它们被写入stderr。在Windows上,我注意到会出现一个对话框并显示该消息。我可以使用自己的自定义显示或记录方法吗?

我希望答案是平台相关的,所以这个问题专门针对OS X使用系统编译器。

注意:

  • 我的目的是将输出重定向到文件是不够的。我想提供自己的功能来显示或记录消息。

  • 我无法简单地重新定义assert宏,因为每个后续#include <assert.h>都会恢复原始行为per the standard

  • 我需要这个来处理来自不属于我自己的库的断言失败。对于我自己的代码,我总是可以使用我自己的特殊断言宏,该宏的名称不是assert

0 个答案:

没有答案