Node:Modifying the Startup Sequence, Previous:Running Image Files, Up:Image Files
You can add your own initialization to the startup sequence through the
deferred word 'cold. 'cold is invoked just before the
image-specific command line processing (i.e., 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 convenient
access to argv.
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.
'cold -- gforth ``tick-cold''
argc -- addr gforth ``argc''
Variable - the number of command-line arguments (including the command name).
argv -- addr gforth ``argv''
Variable - 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''
Return the string for the nth command-line argument.