When you created your program, it is possible to reduce the size of the resulting executable. This is possible, because the compiler leaves a lot of information in the program which, strictly speaking, isn’t required for the execution of the program.
The surplus of information can be removed with a small program called strip.The usage is simple. Just type
strip prog
On the command line, and the strip program will remove all unnecessary information from your program. This can lead to size reductions of up to 30 %.
You can use the -Xs switch to let the compiler do this stripping automatically at program compile time. (The switch has no effect when compiling units.)
Another technique to reduce the size of a program is to use smartlinking. Normally, units (including the system unit) are linked in as a whole. It is however possible to compile units such that they can be smartlinked. This means that only the functions and procedures that are actually used are linked in your program, leaving out any unnecessary code. The compiler will turn on smartlinking with the -XX (see page 123) switch. This technique is described in full in the programmers guide.