Adjusting Naming Conventions in Mixed-Language Programming

The ATTRIBUTES options C and STDCALL determine naming conventions as well as calling conventions. Calling conventions specify how arguments are moved and stored; naming conventions specify how symbol names are altered when placed in an .OBJ file. Names are an issue for external data symbols shared among parts of the same program as well as among external routines. Symbol names (such as the name of a subroutine) identify a memory location that must be consistent among all calling routines.

Parameter names (names given in a procedure definition to variables that are passed to it) are never affected.

Names are altered because of case sensitivity (in C, Visual Basic, and MASM), lack of case sensitivity (in Fortran), name decoration (in Visual C++), or other issues. If naming conventions are not reconciled, the program cannot successfully link and you will receive an "unresolved external" error.

This section discusses: