delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/10/22/01:57:36

Message-Id: <199710220553.SAA21269@atlantis.actrix.gen.nz>
Subject: Some comments and questions
To: djgpp AT delorie DOT com
Date: Wed, 22 Oct 1997 18:53:00 +1300 (NZDT)
From: "Kris Heidenstrom" <kheidens AT actrix DOT gen DOT nz>
MIME-Version: 1.0

Hi all,

I've just started using DJGPP (GCC 2.7.2.1) and I have some
thoughts and questions.

If you're not interested in my ramblings, skip to the questions.

First I want to say that I think DJGPP is pretty cool.	It is tidy
and easy to use, and is pretty much a complete development system.
And it's free!  Wow!  The only thing missing is the editor, but any
programmer will have his/her own favourite editor already.

The system and documentation all has a Unix/C flavour, which is
alien to me (my background is in PC real-mode assembler), but from
a simple "I want something that will compile my program" point of
view, I've had no problems so far.

My first test was a small (400 lines) file-sorting program that I
wrote for Borland C.  With very minor editing (removing 'far' and
'huge' references), it compiled and lunk without error, much to my
amazement!  The one bug I introduced was due to my source relying
on 'char' being unsigned by default, which was definitely my fault.

Debugging with gdb was an experience!  I'm used to Borland's Turbo
Debugger and found gdb very awkward by comparison.  In fact I found
it quite painful to use.  It has most of the functionality of Turbo
Debugger (and some nice extra features) and seems to be powerful
enough, but the user interface is nasty (IMO).	At least it's a
good incentive not to write buggy programs :-)

Also I noticed that gdb doesn't allow you to print (or otherwise
access) word and byte registers - $eax works, $ax, $al and $ah
don't.  It says they are 'void'.

My final program was 40KB stripped (vs. 16KB for real-mode with
Borland C) and the execution speed was 2.4 times that of the
Borland version!

So, I want to say "thanks and well done" to DJ Delorie and the
GNU people (who probably won't be reading this) and everyone else
who has put so much work into creating and supporting the package.

No doubt I'll have more comments and questions when I've tried more
challenging stuff.


Now for my questions.

djasm -	what is it, and where is it documented?  It isn't mentioned
anywhere in the help, or in the (otherwise very helpful) FAQ!  Its
name appears in the exe stub, though :-)  Does it use Intel syntax?
(he asked hopefully :-)

Intel syntax support - is there a program that converts Intel-syntax
assembly to AT&T style?  Has anyone tried to write one?  Would there
be any point in me trying to write one?  Same questions for Intel-style
disassembly for gdb.

Info reader bug - when I invoke 'info' with a keyword it doesn't know
about (e.g. 'info djasm'), it reports 'bad command or filename'
(probably reported by command.com) then hangs.	I'm running MS-DOS
6.20 and using CWSDPMI 0.90+ (r3) and info 2.16.  This seems like a
bug that would have been picked up by now - maybe there's something
strange about my setup.  Any suggestions?

CWSDPMI doesn't detect if already installed - if I install CWSDPMI when
it is already installed, it doesn't detect this, and installs a second
copy (and a third, etc if I keep installing it).  This isn't normally a
problem but is not good behaviour for a TSR.  Maybe it has to work like
this?

Language implementation info - the info file for the standard C library
is good, but I can't find any language implementation reference - for
example, something that will tell me what size a 'short' will be, etc.

Best regards to you all,

Kris.
-- 
Kris Heidenstrom   kheidens AT actrix DOT gen DOT nz   Wellington, New Zealand
               Electronic designer and programmer
       "Good sense is the most valuable good on the market"

- Raw text -


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