This section describes the Interface Definition Language (IDL) compiler. You define interfaces for client applications using the IDL. The interface definitions describe the objects, the methods the interface supports, and the input and output parameters and their data types. Refer to the following topics in the "Interface Definition Language (IDL)" section for details on the IDL language:
IDL methods can be written in and invoked from any language that provides CORBA bindings. You can use the IDL compiler to generate C++ language binding from the interface definition.
To run the NonStop DOM IDL (NSDIDL) compiler, you use the nsdidl command with options and a list of one or more IDL files. These files contain IDL definitions and can also include preprocessor directives. Because the IDL compiler itself is written in Java, appropriate class files must be available to the compiler. Refer to Command Line Syntax for a complete description of the command and its associated options.
Preprocessor directives are processed before compiling takes place. Preprocessing provides macro substitution, conditional compilation, and source file inclusion. The default preprocessor is called cfe. It is invoked automatically when you use the -D and -I options with the compiler command. You can replace the default preprocessor with another one by using the -preprocessor flag. For example:
nsdidl -preprocessor xcpp test.idl
The text input in the IDL input files is scanned, checked for semantic errors, and then converted to C++ code. The NSIDL compiler generates the code necessary for client interactions with objects that provide services to the client.
When the compilation is complete, several files are output. These contain the client header and stubs files as well as the server header and skeleton files.