MARWK@levels.sait.edu.au (11/15/89)
In article <1199@utkcs2.cs.utk.edu>, wozniak@utkux1.utk.edu (Bryon Lape) writes: > Yes, but I cannot remember the names of the companies. C > compilers that create 386 code are aroung $400+. > > Turbo C is a joke and Quick C 2.00 is slow. > > > -bryon- Why is TURBO C a joke? It is ANSI, has a large number of warning messages, is fast at compiling, has a superior environment, and I like its debugging facility. I use TURBO C to to produce code and download it to the VAX (under VMS) and the ENCORE (under MACH). Please tell me what I am missing and I may change. Ray
jhallen@wpi.wpi.edu (Joseph H Allen) (11/15/89)
In article <2764@levels.sait.edu.au> MARWK@levels.sait.edu.au writes: >In article <1199@utkcs2.cs.utk.edu>, wozniak@utkux1.utk.edu (Bryon Lape) writes: >> Yes, but I cannot remember the names of the companies. C >> compilers that create 386 code are aroung $400+. >> >> Turbo C is a joke and Quick C 2.00 is slow. >> >> >> -bryon- >Why is TURBO C a joke? I might agree about QUICK C. The last time I used it, the editor was incredibly slow, it required a mouse and I got "INTERNAL ERROR 0001 PLEASE CALL MICROSOFT SUPPORT" when I tried to compile somthing. (that was a long time ago though) But, why is TC it a joke? The code TC makes isn't terribly great, but I use it anyway because: - It's fast - It supports tiny model (.COM files) - Its non-ANSI extensions ease IBM PC/MS-DOS programming: /* far memory read for small & tiny models */ int farread(int fd,char far *buffer,unsigned size) { unsigned oldds=_DS; _BX=fd; _CX=size; _DX=FP_OFF(buffer); _DS=FP_SEG(buffer); _AH=0x3f; geninterrupt(0x21); /* This actually makes an 'int 021h' I.E., it's not a function. */ _DS=oldds; __emit__(0x73,0x02,0x19,0xc0); /* AX=-1 if carry set */ return _AX; } Because of these extensions, it's the only compiler I know of that can make TSRs without resorting to assembly language. Device drivers can be made by making a simple replacement for the startup code. - Although its editor is a bit primitive, I generally like its environment. In particular, the project file feature is quite handy. Makefiles are a big pain compared to: it.c (it.h) this.c foo.lib asmpart.obj - CS.LIB has only about 3k of helper code (for structures, longs and huge pointers). This is nice since you can make 200 byte C programs if you use your own startup code. (Borland should document this better though) - It has a nice debugger - The next error/previous error support is better than that of any stand alone editor TC isn't perfect though. In particular I'd like it a lot better if: - its generated code was better - it had a _FLAGS pseudo-variable (even if accessing it overwrites another register) - its editor had multiple windows - its editor let you use left and right arrow to cross lines - its project file would call an assembler (of my choice) I've also used these compilers: Zortech: Makes nice code, but I wish it had an assembly output option. It has a real make utility compared to microsoft and borland. I use it with tcc when I need to use make. It would probably be faster than tc if it was memory resident and not in two parts. Mircosoft's Big compiler: The code it makes is nice (I like that it uses 8088s loop statements). But it compiles very slow. Quick C: Maybe you can correct me on this, but I think this compiler is a joke. It only uses medium model in the integrated environment? Its libraries are different from the Big compilers? All this may have changed since version 1.1
hammer@wsucsa.uucp (Tim .D. Hammer) (11/19/89)
In article <2764@levels.sait.edu.au>, MARWK@levels.sait.edu.au writes: > > I use TURBO C to to produce code and download it to the VAX (under VMS) > and the ENCORE (under MACH). > > Please tell me what I am missing and I may change. > > Ray Download to the VAX??? You are most definitely missing the ease of using VMS. Using the LSE editor on the VAX is a dream, if you haven't tried it, you should. I like Turbo C as well and since most C coding that I do is for the PC platform I use it. However, I prefer the opposite approach! ------------------------------------------------------------------------------- Tim .D. Hammer BITNET: TDHAMMER@TWSUVAX Teaching/Research Assistant UUCP: uunet!ncrlnk!ncrwic!wsucsa!hammer Computer Science Dept. Wichita State University TalkNET: (316)689-3156 Wichita, Ks. 67208-1595 #include <std.disclaimer> #define VIEWS_and_OPINIONS MY_OWN /* no one else would admit to them */ ------------------------------------------------------------------------------- "A little learning is a dangerous thing." Alexander Pope
bright@Data-IO.COM (Walter Bright) (11/23/89)
In article <5620@wpi.wpi.edu> jhallen@wpi.wpi.edu (Joseph H Allen) writes:
<Zortech: Makes nice code, but I wish it had an assembly output option.
It does. Run OBJTOASM on the OBJ file generated by the compiler.