/c_ext switch

This switch is obsolete as of version 3.0 of the MIDL compiler. However, using the c_ext switch will not generate a compiler error, so you do not have to remove references to /ms_ext or /c_ext from an existing makefile.

midl /c_ext

Switch Options

This switch has no parameters.


The following features are now available by default:

  • Many existing header files define types with qualifiers, such as far and stdcall, that are not part of the DCE IDL. Those compilers (and the MIDL compiler in DCE-compatibility mode) generate errors when they attempt to process these qualifiers. The MIDL compiler allows you to compile IDL files that contain these qualifiers. The type qualifiers do not affect the way the data is transmitted on the network.
  • You can omit directional attributes such as [in] or [out].

The following C-language extensions are supported in default mode:

  • Bit fields in structures and unions
  • Comments that start with two slash characters (//)
  • External declarations
  • Procedures with ellipses in the parameter list (…)
  • On 32-bit platforms, int is a native 32-bit base type; on 16-bit platforms, int is recognized but is not a remotable type
  • Type void * that is not used in remote operations
  • Type qualifiers—including the form with the ANSI-conformant prefix—contain two underscore characters: cdecl, __cdecl, const, __const, export, __export, far, __far, loadds, __loadds, near, __near, pascal, __pascal, stdcall, __stdcall, volatile, and __volatile.

For more information about declaration qualifiers, see your Microsoft C/C++ documentation.

See also

General MIDL Command-line Syntax