Go to the first, previous, next, last section, table of contents.


Modifying the Startup Sequence

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.