在我的VS2010副本中,stdlib.h包含(第353-355行)
_CRTIMP __declspec(noreturn) void __cdecl exit(_In_ int _Code);
_CRTIMP __declspec(noreturn) void __cdecl _exit(_In_ int _Code);
_CRTIMP void __cdecl abort(void);
Run Code Online (Sandbox Code Playgroud)
我觉得很奇怪,没有noreturn注释abort().有谁知道这个的原因?这是一个错误吗?
编辑:在VS2008中,它是相同的,但是stdlib.h的第371-373行
缺少noreturn注释会触发错误C4716.
进一步参考:用于noreturn标注注释的C++ 0x提议,它表示abort应该携带它.
编辑:看起来像一堆讨论消失了删除的答案,但它的要点包含在缺陷报告#048中.