You can add your own initialization to the startup sequence through the deferred word
'cold -- gforth ``tick-cold''
'cold is invoked just before the image-specific command line
processing (by default, loading files and evaluating (-e) strings)
starts.
A sequence for adding your initialization usually looks like this:
:noname
Defers 'cold \ do other initialization stuff (e.g., rehashing wordlists)
... \ your stuff
; IS 'cold
You can make a turnkey image by letting 'cold execute a word
(your turnkey application) that never returns; instead, it exits Gforth
via bye or throw.
You can access the (image-specific) command-line arguments through the
variables argc and argv. arg provides conventient
access to argv.
argc -- addr gforth ``argc''
contains the number of command-line arguments (including the command name)
argv -- addr gforth ``argv''
contains a pointer to a vector of pointers to the command-line arguments (including the command-name). Each argument is represented as a C-style string.
arg n -- addr count gforth ``arg''
returns the string for the nth command-line argument.
If 'cold exits normally, Gforth processes the command-line
arguments as files to be loaded and strings to be evaluated. Therefore,
'cold should remove the arguments it has used in this case.
Go to the first, previous, next, last section, table of contents.