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" MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk 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"