Introduction to BASIC...CATALOG and jcompile
BASIC MY.BP TEST.SUB TEST.SUB BASIC_1.c Source file TEST.SUB compiled successfully
CATALOG MY.BP TEST.SUB TEST.SUB Object TEST.SUB cataloged successfully Library $HOME\lib\lib0.dll rebuild okay
jcompile test.b Warning: Variable DIV.AMT2 is never assigned! test.c
Compilation results in appearance of an object and executable files (sample for Windows):
test.obj test.dll test.exe
See program information:
jshow -c test Executable: C:\r11\BATfiles\test.dll jBC main() version 11.0 Thu Dec 06 23:35:34 2012 jBC main() source file unknown Executable (DUP!!): C:\r11\BATfiles\test.exe jBC main() version 11.0 Thu Dec 06 23:35:34 2012 jBC main() source file unknown
If the code is recompiled very often then it might happen that the older version of executable code still resides in shared memory and the result of changes wouldn't be seen immediately. In this case "-E" option of jcompile can be used to build executable only and not the shared library, e.g.:
jcompile -E test.b
And then test.dll isn't created. The final compilation is of course to be done without "-E" option. Also - without shared library CHAIN statement might work not as expected and persistence of COMMON areas won't be supported.
See commands used by compiler:
jcompile -v test.b cl /nologo /DWIN32 /MD /W2 /GR /EHa -c -IC:\TAFC\include -DJBC_OPTLEVEL2 test.c ... cl /nologo /DWIN32 /MD /W3 /GR /EHa /GF /Zi /F5000000 -D_LARGEFILE_SOURCE ...
Conditional compilation:
V.VAR = 1 CRT 'Version ': #ifdef VER1 CRT V.VAR: #else CRT V.VAR + 1: #endif CRT ' finished'
jcompile -DVER1 test.b test.c test Version 1 finished
jcompile test.b test.c test Version 2 finished
To look at C code rather than to create executables "-S" option can be used (files test.c and test.j will be created for test.b source).
Full information about jcompile options - "jcompile -H".