From: "John M. Aldrich" 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: Reply-To: fighteer AT cs DOT com NNTP-Posting-Host: ppp103.cs.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 The DJGPP Book Project RHIDE Brennan's DJGPP2+Games Resources Oulu archive > 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 . 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 | ---------------------------------------------------------------------