tjr@ihnet.ATT.COM (Tom Roberts) (09/21/87)
Several posters have alluded to trouble linking TURBO C programs containing more than 64K of code segments. I have been developing a 15,000-line music program using TURBO C, and have had no such problems; the .EXE file is currently 125 kilobytes. I do not use the integrated environment, because I have some inline ASM, and some .ASM files; I use my own implementation of MAKE, TCC and TLINK. I have a 600 kb RAM disk, on which I put MAKE, TCC, TLINK, MASM, all of the header files, and the L-model libraries; the system is fast (a complete make of the entire program takes 3 minutes to make the .EXE file; a single-file make takes typically 20-30 sec; all on an AT&T PC6300). This program uses no floating point. The only TURBO C bug I have found that affects me is that TLINK often hangs when it is ^C-d (re-boot time). TLINK is so much faster than LINK that I live with this annoyance. TURBO C code is not very good: struct BLAH blah[]; blah[i].x = 0; blah[i].y = 12; blah[i].z = -1; This code recomputes blah[i] three times (!). Using a pointer eliminates the multiple computations. Note that in Large model it is difficult and VERY NON-PORTABLE to use a register pointer (but it can be done). Tom Roberts ihnp4!ihnet!tjr