i'm trying use setjmp/longjmp
error handling, however, call longjmp causing programme exit code 0 when compiled using msvc 2010, here full message:
the program '[5020] test.exe: native' has exited code 0 (0x0).
here code:
#include <setjmp.h> #include <stdio.h> int main(void) { jmp_buf env; switch(setjmp(env)) { case 0: printf("normal operation\n"); longjmp(env, -2); break; case -1: printf("known error\n"); break; default: printf("unknown error!\n"); break; } return 0; }
i've compiled same code using gnu based compiler (bfin-elf-gcc under cygwin) worked fine. i.e.,
$ make bfin-elf-gcc -c -wall main.c -mcpu=bf533-any -o main.o bfin-elf-gcc main.o -mcpu=bf533-any -msim -o bfin_test $ bfin-elf-run.exe bfin_test normal operation unknown error!
any idea why not working on msvc?
many in advance, hasan.
longjmp(env, -2);
triggers default:
case prints unknown error!
, emerges switch
statement, return 0;
performed. it's working wrote it. returning 0 main() same exiting 0. msvc telling exit value.
Comments
Post a Comment