The naming convention determines the way the compiler or assembler stores identifiers. If you set the LINK command-line option /NOI, then the names of public variables or called routines are stored differently in the object modules being linked. As a result, LINK will not be able to find a match. It will instead report unresolved external references. Therefore, you must use valid identifiers for each language and be sure the naming convention for the linked modules is the same.
The C naming convention is used when the langtype is C or STDCALL, the SYSCALL naming convention is used when the langtype is SYSCALL, and the Pascal naming convention is used when the langtype is PASCAL, BASIC, or FORTRAN. The list below describes each convention. For example, assume you have a variable named Big Time in your source code. The list below shows the result of each convention applied to this variable.
Langtype Specified | Characteristics | |
C, STDCALL | The assembler and the compiler add leading underscores to the names seen by the linker. They do not translate case. The linker sees the variable as _Big Time. | |
SYSCALL | Leaves the name unmodified. The linker sees the variable as Big Time. | |
PASCAL, FORTRAN, BASIC | Converts all names to uppercase. The linker sees the variable as BIG TIME. |