From: Stan Moore Newsgroups: comp.os.msdos.djgpp Subject: Re: DJGPP reserves wrong int size Date: Fri, 29 Jun 2001 21:19:07 -0400 Message-ID: References: <9dde68b7 DOT 0106241053 DOT 2a385311 AT posting DOT google DOT com> <3b37e7cc DOT 288391695 AT news DOT primus DOT ca> <3b3b4b39 DOT 212640295 AT news DOT primus DOT ca> X-Newsreader: Forte Agent 1.8/32.548 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit NNTP-Posting-Host: digital-2-108.exis.net X-Trace: grouper.exis.net 993863769 digital-2-108.exis.net (29 Jun 2001 21:16:09 -0500) Lines: 143 Organization: A Customer of Exis Net Inc To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On Thu, 28 Jun 2001 15:32:39 GMT, invalid AT erehwon DOT invalid (Graaagh the Mighty) wrote: >On Tue, 26 Jun 2001 23:05:45 +0100, Mark McIntyre > sat on a tribble, which squeaked: > >>On Tue, 26 Jun 2001 01:42:23 GMT, invalid AT erehwon DOT invalid (Graaagh the >>Mighty) wrote: >> >>>>Note that you are asking questions about compiler implementation internals that >>>>are off topic in comp.lang.c. >>> >>>I fail to see how that is relevant in comp.os.msdos.djgpp. >> >>because this was crossposted to many groups. So he gets an answer >>relevant to that group. Its always worth reading the group list. > >The group list, as displayed by Free Agent, was "comp.os.msdos.djgpp". >(It appears in the window title when an article is being viewed. The >title changes to the subject line when writing an article.) FA's title bar shows the group you are reading the message in, NOT all the groups involved in a cross post. I'm removing the other groups from this post and only posting to c.o.m.d. I'd try to help you see the cross posted groups using FA, but that would mean you actually reading the docs - you have made it quite clear (in this and other threads) how difficult you find it to spend any of your time reading docs. > >Don't, by the way, suggest I use another news reader. The alternatives >make my skin crawl. One comes from Microsoft. Netscape's regularly >hangs the OS. The only remaining free ones for Windoze I am aware of >are crummy ports of Unix ones, and get the worst of both worlds, as >they use the crappy Windoze interface but don't stick to its standards >and you need a degree in rocket science and advanced linear algebra in >order to so much as configure them to talk to your ISP's news server, >let alone actually subscribe a group and read 1 article from it. By all means use any newreader you like. Choice of readers is a near religious topic and everyone must ultimately decide for themselves. However, your chioce of newsreader and FA specifically have nothing to do with your crossposting to multiple groups. FA gives you full control over posting, and never forces you to cross post. Newreaders, are tools. Some use them well while others use them poorly. I think you'll find that crossposting in general will get you more grief than gain, and I'll promise you that posting to groups like c.l.c or other groups known for their shall I say "intensity" will be an emotional experience and you will do a lot more defending your opinions and positions. > >(DJGPP, fortunately, doesn't get "the worst of both worlds", although >RSXNTDJ did during its heyday. It is no more rocket science than any >other C compiler out there -- arguably the snazzy commercial ones are >worse for that because they hide some of the process and then fail in >obscure ways you don't know how to fix, and then you don't have a >newsgroup for support, you have their hugely expensive "toll-free" >number. And it doesn't pretend to be a Windoze program, nor does it >need a GUI to be used effectively. Unlike, say, your editor, or your >newsreader, where you want to have multiple windows open at once and >to be able to navigate visually rather than by the usual process of >"hit the eight bucky keys and the other key, frantically escape out of >the unfamiliar prompt, go to the help file, try to read it, try to get >out of the help browser, fail, try to find the section of the help >file about exiting the help browser, hit the eight bucky keys and the >other key...") If you find programming tools or other apps this difficult, have you considered that maybe programming isn't your cup of tea? I could be wrong but you seem VERY easily frustrated and you seem to demand INSTANT gratification and you don't seem to have much patience when things aren't going your way. I don't mean those observations as a slam, my point is that those qualities and programming don't mix. > >>The result of the COMPILATION is some translated text which may be an >>object module, or may be a hippo. ISO doesn't define that. > >If so, they made a rather large oversight, since that means I can call >my program that occasionally reboots the machine and otherwise >generates pretty Mandelbrot fractals "an ANSI C Compiler" and nobody >can prove me wrong... All I have to do is make it able to read a >source file, and proceed to generate a Mandelbrot fractal (or, >perhaps, reboot the machine)... I do know people on the ISO committee, and they havent authorized me to speak for them. Nevertheless, I don't think they would lose any sleep because you don't understand the ISO rational. The ISO statndard describes the required behavior that one can expect from a complying input. You clearly have never read any of the standard, as your assertions above are nonsense. On the other hand, if the ISO tried to specify an object module format or even an assembly language output THAT would have been a mistake - and I'd wager real money that we would still be waiting for a published standard. How the behavior is accomplished is an implementation detail. If someone were to train hippo's to perform properly, they could possibly become a complying implementation of the ISO C standard. ( I personally want no part of optimizing or debugging this hypothetical hippo implementation :) Actually I suspect you could do a google search and find several references to the oft cited "nasal demons" that can occur when one uses an input that ISO declared to result in "undefined" behavior. So if you write code that results in "undefined" behavior and the program does as you suggest and generates Mandlebrot..., reboots, causes demons to fly out of your nose, or even turns into a hippo it would be valid for an ANSI C compiler. For me, DJGPP has always produced a lot less exciting behavior, no matter what I've put in to it. How about it DJ, Eli, maintainers - any chance of getting some nasal demons in a future release? :) For the record I did come close once trying to get my printer to work in ntemacs; I think I still have that code somewhere.... bottom line: C is a high level language for humans to input into compilers and knows nothing about 1;s or 0"s and certainly doesn't know anything about the number of bits used to represent an integer in a stack. >I hate to burst your theoretical bubble, but programmers can and will >care about the code speed and memory requirements, and this isn't even >wrong. Why, otherwise, do they make *optimizers*? And people will continue to see Elvis too :) Premature optimization causes more bugs and grief than any other single programmer activity. My only real point for delurking for this thread was to suggest Jon Bentley's Programming Perls books. They are chock full of wisdom about many topics, including optimizing and other code tunings. Guys like Bentley, Kernighan, and others who take the time to capture and dispense the hard won collective wisdom from programming history beat a steady drum that says experience teaches that looking at 1's and 0's is "almost" never the best way to optimize a program. The biggest gains by far come from much higher level concepts, and it's always better to exhaust the higher level opportunities first before the last resort of checking bits. I would also add that trying to grok bits without first having a very detailed knowledge of the hardware is time misspent.