Q61337: BASIC PDS 7.00 Not Compatible with C PDS Version 6.00
Article: Q61337 Product(s): See article Version(s): 6.00 6.00b 7.00 | 6.00 6.00b 7.00 Operating System(s): MS-DOS | OS/2 Keyword(s): ENDUSER | SR# S900415-6 B_QuickBas S_C S_QuickC | mspl13_basic Last Modified: 18-OCT-1990 Microsoft BASIC Professional Development System (PDS) version 7.00, QuickBASIC version 4.50, and earlier versions of BASIC are not compatible with Microsoft C Professional Development System version 6.00 or Microsoft QuickC version 2.50 or 2.51. You must obtain BASIC PDS 7.10 to be compatible with these versions of C and QuickC. Below are some of the LINK L2025 errors that can occur when you LINK an incompatible BASIC version with Microsoft C PDS version 6.00: E:\C600\LIB\MLIBCE.LIB(chkstk.asm) : error L2025: STKHQQ : symbol defined more than once E:\C600\LIB\MLIBCE.LIB(chkstk.asm) : error L2025: __aaltstkovr : symbol defined more than once E:\C600\LIB\MLIBCE.LIB(chkstk.asm) : error L2025: __chkstk : symbol defined more than once This information applies to Microsoft QuickBASIC versions 4.00, 4.00b, and 4.50 for MS-DOS, to Microsoft BASIC Compiler versions 6.00 and 6.00b for MS-DOS, and to Microsoft BASIC PDS version 7.00 for MS-DOS and MS OS/2. A separate article, found by querying in this Knowledge Base using the following words, describes which specific Microsoft language compiler versions are designed to be linked together: BASIC and C and QuickC and calling and linked and modules For more specific information about how to do mixed-language programming with Microsoft C and Microsoft BASIC, query in this Knowledge Base on the following word: BAS2C Microsoft C PDS version 6.00 and Microsoft QuickC versions 2.50 and 2.51 use different start-up and heap management code than previous versions of C and QuickC. Since the BASIC libraries must be put first on the LINK line, the BASIC libraries supply alternate start-up, heap, and low-level I/O code for the LINKed C routines. These alternate routines are specific to the versions of C available when the BASIC products shipped. Each version of BASIC is tested and designed to work with the versions of Microsoft C and QuickC currently on the market when the BASIC package is released. Incompatibilities caused by new releases of C and QuickC are resolved whenever an updated BASIC product ships. To find a separate article in this Knowledge Base that describes the /Gh option (which makes C 6.00 use the C 5.10 libraries, for Microsoft Windows 2.x compatibility), as mentioned in the C 6.00 README.DOC file, query on the following words: /Gh and 6.00 and 5.10 and C and library and compatibility However, BASIC PDS 7.00 and QuickBASIC 4.50 (and earlier versions) are not compatible with routines compiled with C 6.00, even when the C 6.00 /Gh option is used.
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.