Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!uxc!uxc.cso.uiuc.edu!uxg.cso.uiuc.edu!uxe.cso.uiuc.edu!mcdonald From: mcdonald@uxe.cso.uiuc.edu Newsgroups: comp.lang.c Subject: Re: %p and different pointer representa Message-ID: <225800138@uxe.cso.uiuc.edu> Date: 3 Mar 89 18:16:00 GMT References: <234@mstan.Morgan.COM> Lines: 25 Nf-ID: #R:mstan.Morgan.COM:234:uxe.cso.uiuc.edu:225800138:000:1095 Nf-From: uxe.cso.uiuc.edu!mcdonald Mar 3 12:16:00 1989 >The real crime, in my opinion, was the introduction of several >"memory models" for C programming on the 80*86 architecture and the >subsequent attempt to link together things compiled under different >models. I'm familiar with the rationale behind that, but I don't >agree with it. I must disagree here. In the first place, it is perfectly possible to turn off all of Microsoft's extensions with a command line switch. If you do that, and want to use their supplied include files, you may be in for a bit of editing, though they have gotten rid of most the problems through #defines (except namespace pollution caused by the #defines). I have used their compiler with that switch and other people's (i.e. Unix) include files, and it works fine. On the other hand, I think that their additions are basically a good idea. Those who dont want them, can turn them off. Those that wish to do sneaky things to get a better program, can. It is the programmer's choice. IF a programmer wants to do so, the huge model essentially works right, except for a very few things which are simply bugs.