1.3 Selecting a Compiler

NLM applications can be developed on the following compilers.

Table 1-1 Compilers

Compiler

Description

GNU C/C++

A compiler used on many UNIX* and Linux* systems, which also supports NLM development. For more information, see GNU Compiler Collection.

For information about a preconfigured environment for NetWare, see the following Forge project: UNIX Environment and gcc for NetWare.

Metrowerks* CodeWarrior

A commercial compiler with a source level debugger.

Certain levels of the DeveloperNet® program include a copy of CodeWarrior or allow you to purchase one at a reduced price. For details, see the Novell DeveloperNet Program.

For instructions on setting up CodeWarrior for NLM development, see Targeting the NetWare Operating System PDK 5.0 from Metrowerks. See also Section 1.9, CodeWarrior Tips and Tricks.

Watcom*

A free compiler and the first compiler to support NLM development. It supports developing C applications for NetWare, but does not support C++ applications for NetWare.

WLink does not support symbol prefixing except through the use of the ALIAS link directive. Because "@" is overloaded in linker syntax, the solution is difficult and requires quoting. Do not attempt to include Watcom libraries.

For more information, see OpenWatcom.

You must link a prelude file into your application. The LibC SDK includes one for each of the these compilers. You do not lose anything by linking the prelude file, even in the unlikely event that you do not call LibC functions that require context.