~/lecture/soft402/lejos> ls -1 bin LEGAL emu-dump.exe* emu-lejos.exe* emu-lejosrun.exe* lejos.exe* lejosc.exe* lejosc1.exe* lejosfirmdl.exe* lejosp.exe* lejosp1.exe* lejosrun.exe* libirtower.solejoscはコンパイラで,lejospは逆コンパイラです. それぞれシステムのjavac, javapをexecvpで呼び出す形に なっており,それぞれjtoolexec.cとutil.cから作られます. execvp(const *char file, char *const argv[]) は,fileがコマンドプログラムのファイル名で, argvはそこへ渡す引数の文字列の配列へのポインタです.
gcc -I../vmsrc -Wall -Wno-unused -O2 -c util.c gcc -DTOOL_NAME=\"javac\" -DTOOL_ALT_VAR=\"JAVAC\" -DJAVA2 -c jtoolexec.c gcc jtoolexec.o util.o -o ../bin/lejosc gcc -DTOOL_NAME=\"javap\" -DTOOL_ALT_VAR=\"JAVAP\" -DJAVA2 -c jtoolexec.c gcc jtoolexec.o util.o -o ../bin/lejosplejosは,RCX用のJavaプログラムを lejoscでコンパイルした後RCXへ送るためのコマンドです. emu-lejoscはemulatorです. lejosrunは,lejos -o として得られた実行モジュールを RCXへ送るためのコマンドです.