[Previous]  [Up]  [Next]

Compilation and linking


All library components have been compiled using the undocumented and unsupported -zo switch and should be linked using David Daniels's Drlink linker. Due to a compiler bug the -zo option should always be combined with the -fw option, otherwise addresses of character strings may be wrong.

The -zo switch forces the compiler to place each function definition in a translation unit into a separate linker area, and Drlink's -nounused switch causes any areas (i.e. function definitions) that are not referenced to be omitted from the final linked binary. Given the nature of the standard C++ library (a large number of very small functions) this is by far the easiest way to provide good library granularity. The alternative of placing each function definition in it's own translation unit would make library maintenance extremely awkward.

See Drlink's documentation for more details of the available options.

 [Previous]  [Up]  [Next]