Functionality

WCRT supports console- and GUI applications, as well as dynamic link libraries (dlls).

WCRT supports basic stream I/O through the FILE functions (fopen, etc.). stdin, stdout and stderr are available. ungetc is supported, but only works with the fget*, get* and *scanf functions.

WCRT supports static constructors and destructors (global instances of classes with constructors and destructors). Destructors are called in the correct LIFO order.

WCRT provides operators new, new[], delete and delete[].

There is no floating point emulation library. Programs can still use floating point arithmetic, but if they do, they will not run on machines that do not have a FPU (this should only affects some 386 and 486 machines, so it should not be a big problem). In programs that use floating point, the WCRT startup code will detect the presence of a FPU, and abort the program if no FPU is found.

In the current version atexit can only handle up to 32 functions (which is the minimum required by the C standard).

The *printf family of functions are by default implemented through calls to the wvsprintf function. This means that they only support a subset of the standard format specifiers (most importantly output of floating point numbers is not supported). They utilize a temporary buffer, which limits the output of each call to 1024 bytes.

The *scanf family of functions are available, but do not provide floating point support.