#pragma must_have_frame(funcname[,funcname])
该 pragma 要求总是编译指定的一组函数来获得完整的堆栈帧(如 System V ABI 中所定义)。必须在使用该 pragma 列出函数之前,声明该函数的原型。
extern void foo(int); extern void bar(int); #pragma must_have_frame(foo, bar)
只有在声明了指定函数的原型后,才允许使用该 pragma。该 pragma 必须位于函数结尾之前。
void foo(int) { . #pragma must_have_frame(foo) . return; }