main.c 825 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include "__virtualmath.h"
  2. void signalStop(int signum);
  3. int main(int argc, char *argv[]) {
  4. Inter *inter = NULL;
  5. signal(SIGINT, signalStop);
  6. if (setjmp(memVirtualMath_Env) == -1){
  7. fprintf(stderr, "ERROR: Fatal memory error encountered, May be caused by insufficient memory!\n");
  8. return 1;
  9. }
  10. memVirtualMathUseJmp = true;
  11. if (getArgs(argc, argv))
  12. goto args_error;
  13. inter = makeInter(args.out_file, args.error_file, args.in_file, NULL);
  14. runCodeFile(inter, argv + optind);
  15. if (args.run_commandLine)
  16. runCodeStdin(inter);
  17. freeInter(inter, true);
  18. args_error: freeArgs();
  19. return 0;
  20. }
  21. void signalStop(int signum) {
  22. if (is_KeyInterrupt == signal_reset)
  23. is_KeyInterrupt = signal_appear;
  24. }
  25. /** TODO-szh List
  26. * 官方函数
  27. * 官方类
  28. */