Anybody still using Turbo C 3.0?
Mon, 20 May 1996 19:07:41 +0200 (MET DST)

Date: Mon, 20 May 1996 19:07:41 +0200 (MET DST)
Message-Id: <>
Subject: Anybody still using Turbo C 3.0?

Hi there!

Here is an article that I just posted in the Doom/Quake editing
newsgroups. It is barely on-topic for these lists, that's why I
encourage you to post your replies to the newsgroups or to send them
to me directly instead of sending them to the lists. If necessary, I
will post a summary of the replies here. Here is my question:

I made some progress on GAEL, my portable Doom/Quake editing library
(which will be released as part of QEU 0.4), but some parts of the code
get a bit messy if I still support Turbo C 3.0.

Following the good tradition of DEU, I try to support as many operating
systems and compilers as possible (DJGPP, Borland, Watcom under DOS and
many other compilers under UNIX), but some workarounds for the bugs in
the old Turbo C 3.0 make the code less readable and I would like to get
rid of these kludges.

Description of the most annoying bug:
TC 3.0 cannot increment huge pointers with the "++" operator. Try
writing a short program which declares a pointer as "char huge *p" and
then print the value of p before and after "p++" and "p = p + 1" and you
will see the difference! That was one of the most frustrating problems
that I had when debugging some early versions of DEU two years ago.

Because of that, I have to put some #ifdef's in my code, and this is not
very pretty. For example:
#ifdef __TURBOC__
*p = x;
p = p + 1;
*p++ = x;
When this is a single statement, that solution is still bearable, but it
gets really annoying when the "++" is embedded in another statement or
when there are several huge pointers involved in a loop.

I would like to know if there are some people out there who are still
using TC 3.0 for compiling C programs, or if I can assume that everybody
has switched to a newer version of Borland C++ or to another compiler,
such as DGJPP (which is very good, and free).

If I don't have to support TC 3.0 anymore, I would be glad to get rid of
these #ifdef's in the code. Note that I will still be supporting 16-bits
DOS compilers as well as 32-bits compilers; it's only TC 3.0 which is a


|    WWW:                           |
| E-mail: or     |
| S-mail: Raphael Quinet, 9 rue des Martyrs, 4550 Nandrin (Belgium)         |