C/C++ Compiler (cl.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Language Extensions: Details
                                             Up Contents Index Back
─────C/C++ Compiler─────────────────────────────────────────────────────────
 
     Microsoft Extensions to the C language include the following:
 
        ■ The __based, __cdecl, __far, __fastcall, __fortran, __huge,
          __near, __pascal, __stdcall, __syscall, and __interrupt
          keywords
 
        ■ Use of a cast expression as an l-value
 
        ■ Redefinition of extern items as static
 
        ■ Use of trailing commas (,) rather than an ellipsis (...) in
          function declarations to indicate variable-length argument
          lists
 
        ■ Use of benign typedef redefinitions within the same scope
 
        ■ Mixing character and string constants in a single
          initialization expression
 
        ■ Use of bit fields with base types other than unsigned int or
          signed int
 
        ■ Single-line comments
 
        ■ Casting between data pointers and function pointers
 
        ■ Function declarator given file scope
 
        ■ Declarators without a storage class or a type allowed
 
        ■ Nested nameless struct/union
 
        ■ Zero-sized arrays in struct/union
 
        ■ Block-scope variables can be initialized with nonconstant
          expressions
 
        ■ Previous function declarator specifies a variable number of
          arguments, but the function definition provides a type instead
 
     See: Enabling and Disabling Language Extensions (/Ze, /Za)
          Debugging and Syntax Checking
          Generating Function Declarations (/Zg)
          Omitting Default Library Name from Object File (/Zl)
          Packing Structure Members (/Zp)
                                    -♦-