www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/02/06/03:09:09

From: "John M. Aldrich" <fighteer AT cs DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Portability issues....
Date: Wed, 05 Feb 1997 20:14:52 -0800
Organization: Two pounds of chaos and a pinch of salt
Lines: 91
Message-ID: <32F95ABC.77C3@cs.com>
References: <Pine DOT SOL DOT 3 DOT 94 DOT 970205101846 DOT 11854A-100000 AT taz>
Reply-To: fighteer AT cs DOT com
NNTP-Posting-Host: ppp103.cs.com
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Mr. Fuju wrote:
> 
> myself into here...  How different is programming with djgpp from
> programming in C++ using Turbo C++ for DOS or g++ for Unix?

As SET said, it's a very different environment from Turbo C++, but
nearly identical to GNU C++.  If you really do like an IDE as opposed to
a command-line environment, then you should check out RHIDE and/or GNU
Emacs (both of which are available with the rest of the djgpp files).

> Exactly what is DPMI and where do I find information on using it?

DPMI is a method of allowing 80386 and higher CPUs to run in their full
32-bit capacity, along with a host of improved memory management
features.  If you are used to programming in real-mode (16 bit)
compilers, you will be pleased to note that under DPMI, you no longer
have to worry about segments, far pointers, or any of that other 16-bit
garbage.  If you're used to Unix programming, then you never did have to
worry about these, and you'll find the transition to djgpp a smooth one.

The only hitch to DPMI is that you need to learn a completely different
method of interfacing with hardware, interrupts, and other low-level OS
services.  These differences, and their solutions, are all discussed in
great detail in the FAQ.  But if you don't care about such things, you
don't need to do anything special to write normal programs.  All the
work of setting up and using DPMI is already incorporated into the djgpp
library code.  The only thing you need to do is provide a DPMI host for
your programs (see 'readme.1st' for a list of programs that offer DPMI
support).

FYI, so the history buffs don't jump down my throat, there is a limited
16-bit form of DPMI available on 80286 CPUs.  Because 16-bit and 32-bit
DPMI are explicitly incompatible under the DPMI spec, you may run into
some problems if you try to mix djgpp programs with programs written
under Borland C/C++, which uses 16-bit DPMI.

> Will my other C++
> programs that I've written compile under djgpp?  If these questions are
> addressed in the FAQ that I've not read yet, just tell me so and I won't
> bug you anymore before I read it...

The FAQ is of course the best resource to read for information on
switching to djgpp from other compilers.  Its value as a support
resource _cannot_ be overestimated.  :)

> Oh, and what about support?  Obviously this mailing list is available
> (thankfully), but are there any other sources of information for
> difficulties with programming with djgpp?

The mailing list is also gatewayed to a Usenet newsgroup
(comp.os.msdos.djgpp), and is read by hundreds, if not thousands of
users.  The chances are good that at least some of those people will be
able to help you with any problem you could possibly imagine.  :)  The
usual response time on a question posted to the list/newsgroup is under
a day, and sometimes under an hour, depending on who's online at the
time.

There are also a ton of additional djgpp resources out there.  The FAQ
has an immense list, but here are some of the more popular ones (with
apologies to anyone I'm leaving out):

DJGPP <http://www.delorie.com/djgpp/>
The DJGPP Book Project <http://www2.ari.net/flyboy/index.html>
RHIDE <http://www.tu-chemnitz.de/~rho/rhide.html>
Brennan's DJGPP2+Games Resources <http://www.rt66.com/~brennan/djgpp/>
Oulu archive <ftp://x2ftp.oulu.fi/pub/msdos/programming/djgpp2/>

> Also, I'm running Windows NT
> Workstation 4.0 on a Pentium 133 with 32 megs of ram.  Does anyone foresee
> any problems I may encounter?

The only major problem with NT is that the DOS box does not support long
filename services like Windows 95 does.  This, obviously, is not the
fault of djgpp.  :)  Another problem is that access to some low-level
services is "guarded" by NT in ways that can trip up programmers not
familiar with them.  I'm hardly an expert in this, though.

Oh, and there's one last thing... since you are a beginning djgpp user,
I'd appreciate it if you would try out the alpha version of my DJVERIFY
diagnostic utility.  It's designed to help users diagnose common
mistakes that are made when installing djgpp, and I'm seeking as much
comment as possible before releasing a beta version.  The URL to get it
is <ftp://ftp.delorie.com/pub/djgpp/alpha/vrfy033a.zip>.  Thanks, and
good luck!

-- 
---------------------------------------------------------------------
| John M. Aldrich, aka Fighteer I |        fighteer AT cs DOT com          |
| Proud owner of what might one   |   http://www.cs.com/fighteer    |
| day be a spectacular MUD...     | Plan: To make Bill Gates suffer |
---------------------------------------------------------------------

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019