PRB: L1035 Linking MOVE Application Using a Fastcall FunctionLast reviewed: July 22, 1997Article ID: Q117887 |
5.30 5.31 5.50 5.60
MS-DOS
kbtool kbcode kberrmsg kbprb
The information in this article applies to:
SYMPTOMSAn attempt to link an application fails and Microsoft LINK generates the following error message:
fatal error L1035: syntax error in module-definition file CAUSEThe application is using MOVE overlays and has a function that uses the fastcall calling convention in an overlay. The name of the function is specified in the module-definition (.DEF) file, with the preceding @ character.
RESOLUTIONEnclose the name of the function in the module-definition (.DEF) file in double quotes ("").
MORE INFORMATIONThe following sample code can be used to reproduce the problem:
Sample Code
/* Compile options needed: /AM (or /AL) /Gy /Gs */ // TEST.C - implementation file #include <stdio.h> void sub1(void); void __fastcall sub2(void); void main(void) { printf("This is main\n"); sub1(); sub2(); printf("This is main, again\n"); } void sub1(void) { printf("This is sub1\n"); } void __fastcall sub2(void) { printf("This is sub2\n"); } // TEST.DEF - module-definition file NAME TEST.EXE FUNCTIONS:1 _sub1 FUNCTIONS:2 @sub2 ; L1035 Error ! ; FUNCTIONS:2 "@sub2" ; use this line to avoid the error |
Additional reference words: 5.30 5.50 5.60
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |