Microsoft KB Archive/37233

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Knowledge Base


INFO: Why System Include Files Prototype Functions as _cdecl

Article ID: 37233

Article Last Modified on 7/5/2005



APPLIES TO

  • Microsoft C Professional Development System 6.0a
  • Microsoft Visual C++ 1.0 Professional Edition
  • Microsoft Visual C++ 1.5 Professional Edition
  • Microsoft Visual C++ 1.51
  • Microsoft Visual C++ 1.52 Professional Edition
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++ 6.0 Standard Edition



This article was previously published under Q37233


SUMMARY

The system include files declare functions that use the C calling and naming conventions with the attribute "cdecl".

The compiler uses the C calling and naming conventions by default unless the compiler command line specifies the /Gc or /Gz option switches. The /Gc switch instructs the compiler to use the Pascal (FORTRAN) calling convention by default. The 32-bit compilers do not support the /Gc option switch; they use the /Gz option switch that instructs the compiler to use the __stdcall calling and naming convention by default.

The "cdecl" attribute instructs the compiler to generate run-time library calls using the C calling and naming conventions even when the command line specifies the /Gc or /Gz option.

Keywords: kbinfo kblangc KB37233