Path: utzoo!utgpu!attcan!uunet!yale!husc6!bu-cs!madd From: madd@bu-cs.BU.EDU (Jim Frost) Newsgroups: comp.sys.ibm.pc Subject: Re: What about the Turbo C compiler? Message-ID: <24350@bu-cs.BU.EDU> Date: 10 Aug 88 01:55:30 GMT References: <371@gt-eedsp.UUCP> <5930012@hpcupt1.HP.COM> Reply-To: madd@bu-it.bu.edu (Jim Frost) Followup-To: comp.sys.ibm.pc Organization: Boston University Distributed Systems Group Lines: 45 In article <5930012@hpcupt1.HP.COM> kluft@hpcupt1.HP.COM (Ian Kluft) writes: |cck@deneb.ucdavis.edu (Earl H. Kinmonth) writes: |> TurboC (1.0) has many bugs, some in fundamental areas. You say you want |> floating point arithmetic that works? What are you, some kind of |> communist? | |I've heard that TC 1.0 was that bad. I bought a copy of 1.5 shortly |after it became available. I have it and it does goof up floats and some other things. Interestingly, 1.0 was bug-free enough for someone to port MINIX to, with good results. If you're not using floats, it works pretty well. I have used 1.0 for a number of utilities and have had no problems. 1.5 has all of the bugs that I was aware of fixed (and there are patches to 1.0 that fix several bugs) along with major library enhancements. Haven't gotten around to buying it yet, though. I think the original poster needed port I/O commands. Turbo C has them; not only that, but it has #defines in the appropriate headers that allow MSC programs to compile even though the port I/O commands are not the same between the two C's. Thoughtful of them. |I like one feature of TC in particular - interrupt functions. You didn't mention inline code. It allows both TPascal-style inline machine code and MASM code (although you need MASM for that). I've found that useful when writing interrupt subroutines that get called by FAR calls (why in ^#$%$ the people that wrote NTNX did that is beyond me). You just inline the interrupt function return instructions and replace the IRET with a RETF. Turbo C has ANSI-draft prototyping which i've found very useful in debugging others' code. I keep wishing the compiler on my Sun had that. The MINIX to Turbo C people found several bugs in the MINIX code when they converted over to using prototypes. Of course you don't need to use prototyping but it can be wonderful. Aside from the float problem, 1.0 was pretty good. 1.5, with its bug fixes and awesome libraries, is definitely worth the money. There are better compilers out there, but this is a good one. Its only lacking is a debugger. But we all debug with printk() statements (for lack of a kernel debugger), don't we ;-). jim frost madd@bu-it.bu.edu