int main(int argc, char* argv[]) { void* callbacks[] = {Joutput,0,Jinput,0,(void*)SMCON}; int type; jepath(argv[0]); // get path to JFE folder jt=jeload(callbacks); if(!jt){char m[1000]; jefail(m), fputs(m,stdout); exit(1);} adadbreak=(char**)jt; // first address in jt is address of breakdata signal(SIGINT,sigint); #ifdef READLINE char* rl_readline_name="jconsole"; /* argv[0] varies too much*/ #endif if(argc==2&&!strcmp(argv[1],"-jprofile")) type=3; else if(argc>2&&!strcmp(argv[1],"-jprofile")) type=1; else type=0; addargv(argc,argv,input+strlen(input)); jefirst(type,input); while(1){jedo(Jinput(jt," "));} jefree(); return 0; }
int main(int argc, char* argv[]) { void* callbacks[] = {Joutput,0,Jinput,0,(void*)SMCON}; int type; #if !defined(WIN32) && !(defined(__arm__)||defined(__mips__)) // set stack size to get limit error instead of crash struct rlimit lim; getrlimit(RLIMIT_STACK,&lim); lim.rlim_cur=0x1000000; // 0xc000000 12mb works, but let's be safe with 16mb setrlimit(RLIMIT_STACK,&lim); #endif jepath(argv[0]); // get path to JFE folder jt=jeload(callbacks); if(!jt){char m[1000]; jefail(m), fputs(m,stdout); exit(1);} adadbreak=(char**)jt; // first address in jt is address of breakdata signal(SIGINT,sigint); #ifdef READLINE char* rl_readline_name="jconsole"; /* argv[0] varies too much*/ #endif if(argc==2&&!strcmp(argv[1],"-jprofile")) type=3; else if(argc>2&&!strcmp(argv[1],"-jprofile")) type=1; else type=0; addargv(argc,argv,input+strlen(input)); #ifndef READLINE #ifndef ANDROID // _O_TEXT may not be defined on non-VC++ systems #ifdef _O_TEXT _setmode( _fileno( stdin ), _O_TEXT ); //readline filters '\r' (so does this) #endif #endif #endif jefirst(type,input); while(1){jedo(Jinput(jt," "));} jefree(); return 0; }