PRODUCT : Borland C++ NUMBER : 725 VERSION : All OS : DOS DATE : August 20, 1992 PAGE : 1/2 TITLE : Table Limit Exceeded Occasionally TLINK will generate a "Table limit exceeded" message. This message is generally caused when an internal linker table containing symbols overflows. This table is referred to as the symbol table. The symbol table starts out at 80K bytes and grows dynamically up to a limit of 256K bytes. The reason for this limit is one of speed. There are several things that contribute to the symbol table size--public names, external names, segment names, imported names (Windows only) and group names. Including debug information also increases the table size by 4 bytes for each symbol in the table. The usual major contributors to the filling of the symbol table are the public and external names. There are several approaches to reducing the size of the symbol table. You can try any one or a combination of all of them. How many you need to implement is going to be dependent on the amount of symbol space you require beyond 256K bytes. The different approaches are as follows: 1. Declare all functions and variables that are not used by another module to have static duration. 2. Reduce the size of libraries used. All symbols in all modules in all libraries being linked are put into the symbol table whether that module is used or not. You can significantly reduce the number of symbols in the symbol table by removing any unused modules from your libraries. This approach also applies to the default libraries. 3. A small decrease in the symbol space used can be gained by shortening the names used since the variable name is part of the symbol table entry. 4. You can store like types in arrays rather than declaring individual names for each variable. For instance, declaring 5 integers will generate 5 corresponding symbol table entries. Declaring an integer array and storing these 5 integers in the array will generate a single symbol table entry for the array name rather than each individual integer variable. PRODUCT : Borland C++ NUMBER : 725 VERSION : All OS : DOS DATE : August 20, 1992 PAGE : 2/2 TITLE : Table Limit Exceeded 5. If you have followed the above suggestion and are still experiencing a 'Table Limit Exceeded' message, please contact Borland Technical Support. DISCLAIMER: You have the right to use this technical information subject to the terms of the No-Nonsense License Statement that you received with the Borland product to which this information pertains.