Built-in functions allow you to directly access hardware and
machine instructions to perform operations that are cumbersome,
slow, or impossible in pure C.
These functions are very efficient because they are built into the
VSI C compiler. This means that a call to one of these functions
does not result in a reference to a function in the C run-time
library or in your programs. Instead, the compiler generates the
machine instructions necessary to carry out the function directly
at the call site. Because most of these built-in functions closely
correspond to single VAX, Alpha, or Itanium machine instructions,
the result is small, fast code.
Some of these functions (such as those that operate on strings or
bits) are of general interest. Others (such as the functions
dealing with process context) are of interest if you are writing
device drivers or other privileged software. Some of the functions
are privileged and unavailable to user mode programs.
Be sure to include the <builtins.h> header file in your source
program to access these built-in functions.
VSI C supports the #pragma builtins preprocessor directive for
compatibility with VAX C, but it is not required.
Some of the built-in functions have optional arguments or allow a
particular argument to have one of many different types. To
describe different valid combinations of arguments, the description
of each built-in function may list several different prototypes for
the function. As long as a call to a built-in function matches one
of the prototypes listed, the call is valid. Furthermore, any
valid call to a built-in function acts as if the corresponding
prototype was in scope, so the compiler performs the argument
checking and argument conversions specified by that prototype.
The majority of the built-in functions are named after the machine
instruction that they generate. For more information on these
built-in functions, see the documentation on the corresponding
machine instruction. In particular, see that reference for the
structure of queue entries manipulated by the queue built-in
functions.
Additional Information:
explode
extract