barthe@hpuxa.ircc.ohio-state.edu (Olivier Barthelemy) (07/10/90)
Hi. I am looking for a good C compiler, among the mainstream ones : Quick C, Turbo C or Turbo C ++. Can anyone advise me on which to buy, or direct me to benchmarks. I want to use C to write small file manipulation utilities (stripping/changing control codes...), and for educational purposes. I know that C++ has objects, and I have a vague idea of what objects are. Is it worth the extra cost, the few bugs, and the slower performance of TC++ compared to TC 2.0 ? Do these compiler come with good libraries ? to what extent is TC++ compatible with TC 2.0 ? Is anyone better for Windows programming ? Thanks for your help Olivier Barthelemy barthe@hpuxa.ircc.ohio-state.edu (614)-294-3302
880716a@aucs.uucp (Dave Astels) (07/10/90)
In article <2622@nisca.ircc.ohio-state.edu> barthe@hpuxa.ircc.ohio-state.edu (Olivier Barthelemy) writes: >I am looking for a good C compiler, among the mainstream ones : Quick C, >Turbo C or Turbo C ++. Can anyone advise me on which to buy, or direct >me to benchmarks. By all means get a C++ system. I haven't used TC++ (note: no space) but the environment looks good. The profiler sound promising too. Allas no Windows support. I have Zortech C++. I've only used it for a few months, but it seems great. I am eagerly awaiting my upgrade to version 2.1, which promises to be even better. The debugger is wonderful, and there is a C compiler thrown in (common optimiser & back end for both C & C++). The optimiser looks to be very capable. I comes with the standard ANSI C library, as well as some extras (EMM support, both as library routines and a special pointer type; MS mouse support functions; a set of curses-like functions; and a fairly complete graphics library). I was dissappointed with the editor/environment in version 2.0, but 2.1 is supposed to greatly improve this. All the pieces works from the command line as well, so I generally use uEmacs to edit. >I want to use C to write small file manipulation utilities > (stripping/changing control codes...), Why not use SED or AWK (there are MS-DOS versions, including ones from the GNU project) >and for educational purposes. I know that C++ has objects, >and I have a vague idea of what objects are. Is it worth the extra cost, the >few bugs, and the slower performance of TC++ compared to TC 2.0 ? The extra cost should be insignificant. Everything has bugs. Note that Zortech's product has been around for a while. C++ isn't much slower that C (if any, depending on the code). >Do these compiler come with good libraries ? As I said above, Zortech comes with a fairly complete library. >Is anyone better for Windows programming ? Zortech supports Windows development. >Thanks for your help No problem. -- "I liked him better before he died" - McCoy, ST V =============================================================================== Dave Astels | Internet: 880716a@AcadiaU.CA PO Box 835, Wolfville, | Bitnet: 880716a@Acadia
chrisw@dell.dell.com (Chris Waldren) (07/12/90)
I am about to write a device driver. I was wondering if there is any way to do this from C perferable Microsoft C. I'd appreciate any suggestions. Thanks in advance
flo@doitcr.doit.sub.org (Florian Reichl) (07/16/90)
There was a pretty good and complete review of C compilers in Computer Language of May '90. Their conclusion was that Microsoft C 6.0 was the best optimizing compiler of the 14 tested. Performance of a compiled real world application was best when compiled by MSC 6.0 using the compact memory model and best when compile by Watcom C 7.0 using the large memory model with MSC 6.0 only needing 1% more execution time. Hope this helps you! -- Florian
thj@mtcchi.uucp (XT0221000-Tom Hjellming(ZG90210)0000) (07/16/90)
chrisw@dell.dell.com (Chris Waldren) writes: >I am about to write a device driver. I was wondering if there is any way to >do this from C perferable Microsoft C. I'd appreciate any suggestions. >Thanks in advance Yes. I have done a couple of device drivers in C (MS-C even). You will need some assembly language glue though. Basically, the assembly language glue will need to handle the driver header declaration stuff and the Strategy and Interrupt call entry points. Be sure to setup the proper C environment in addition to switching to a private stack. The final executable will need to be in binary or .SYS format. Run EXE2BIN to generate the final executable. EXE2BIN is pretty picky about segment fixups and things like that. You'll have to muck with the segment definitions to get them to fit in the same group. Also, be very careful about using any C run-time functions. Some of them cause the C startup code to be dragged in which will totally screw up your segment ordering and cause EXE2BIN to fail. In general, I found it easier to re-write the C run-time functions than to try to use the ones with the Compiler. A while ago there was a public domain/shareware package floating around the BBSs that was written for Lattice C. I wrote a similar package for MS-C. It handles pretty much all the assembler stuff for you. Your C portion just supplies functions like Init, Read, Write, IOCtl, etc that is linked with the assembler stuff. I think I still have it at home. Send me e-mail if you are interested. Hope this helps. Tom Hjellming Software Consultant Analysts International Corp (AiC) Schaumburg, IL ...!uunet!tellab5!mtcchi!thj
rja@edison.cho.ge.com (rja) (07/20/90)
With trivial differences in source code style, each of the compilers tested by Computer Langauge could be shown to be "more optimising". The real conclusion was that there aren't significant differences in the optimisers between modern MSDOS compilers whether Watcom, Borland, Microsoft, ... For my own part, I've heard enough bad reports about Microsoft C 6.0 that I won't use it. I've found Borlands TC 2.0 and TC++ 1.0 to work fine in production use and the original reason I went to TC 2.0 was disgust with MS C 5.1. A lot of people seem happy with Watcom and Zortech as well. I'll take another look if/when MS C 6.1 or MS C++ appear (neither is an announced product, but you get my drift :-).