网上论坛: http://groups.google.com/group/learning-linux-c-cpp/topics
- 有没有办法把return 0;“表达式化”? [1 条更新]
Jun Li <junl...@gmail.com> Nov 19 09:26AM -0500
--
"请问有没有办法写成这样:
init_x() || init_y() || init_z() || myreturn() ;"
你用setjmp longjmp 倒是可以恢复到之前的call stack,
void main()
{
jmp_buf env;
if (setjmp(env))
{
return;
}
init_x() || init_y() || my_return(&env);
}
int my_return(jmp_buf* env)
{
longjmp(*env, 1);
return 0; //not executed
}
这个法子其实就是捕获异常了,目测就算嵌入汇编也得是要保存上下文才行吧, 其实还不如 if else
2013/11/14 guokr321 <guok...@163.com>
您收到此邮件是因为您订阅了 Google 网上论坛的“Linux C/C++/系统编程 一站式学习”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 learning-linux-c...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。