bahrd@yoda.byu.edu (01/08/91)
I was wondering what the difference between TurboC 2.0 and TurboC++ 1.0 in the standard C mode was? Is there any portability porblems if I write code in TurboC++ using standard C conventions and then giving the code to a friend who has Turbo C 2.0? Please let me know!!! bahrd@yoda.byu.edu bahrd@spock.byu.edu Thanx much!!! Doug 1/7
hollen@megatek (Dion Hollenbeck) (01/09/91)
In article <350bahrd@yoda.byu.edu> bahrd@yoda.byu.edu writes: > > I was wondering what the difference between TurboC 2.0 and > TurboC++ 1.0 in the > standard C mode was? Is there any portability porblems if I write code in > TurboC++ using standard C conventions and then giving the code > to a friend who has Turbo C 2.0? Please let me know!!! Unfortunately I do not know specifics, but I just talked to Borland Customer Service about upgrading from TC to TC++ and one question that I asked was "Will my C programs just compile without change?" and they informed me that I would have to PORT them. They also informed me that the upgrade was $125 and that they did not plan any further upgrades for Turbo C. The price seemed a little steep to me since I need none of the OOP capabilities of C++ and I can buy TC+ Professional for $169 almost anywhere. What I really wanted was the VROM technology. Oh well, I guess I will just have to stick with PMOM (Poor Man's Overlay Manager) if I exceed reasonable code size. -- Dion Hollenbeck (619) 455-5590 x2814 Megatek Corporation, 9645 Scranton Road, San Diego, CA 92121 uunet!megatek!hollen or hollen@megatek.uucp
randall@Virginia.EDU (Ran Atkinson) (01/09/91)
In article <350bahrd@yoda.byu.edu> bahrd@yoda.byu.edu writes: % I was wondering what the difference between TurboC 2.0 and TurboC++ % 1.0 in the standard C mode was? % Are there any portability porblems if I write code in TurboC++ % using standard C conventions and then giving the code to a friend % who has Turbo C 2.0? Please let me know!!! TC 2.0 was close to complying with ANSI X3.159 C but not quite there. TC++ 1.0 is a lot closer to being ANSI X3.159 compliant. Most C programs will compile fine with TC++ 1.0 (all of the ones I had lying around just compiled with an occasional new warning but no errors). If you write code that depends on some really fine point of ANSI C then you might have problems with it on TC 2.0 but most programs I've seen don't have this problem. In article <HOLLEN.91Jan8092846@fridge.megatek> Dion Hollenbeck writes: > Unfortunately I do not know specifics, but I just talked to Borland > Customer Service about upgrading from TC to TC++ and one question > that I asked was "Will my C programs just compile without change?" > and they informed me that I would have to PORT them. ALL of the C code I had working cleanly under TC 2.0 compiled as is without any code changes for TC++ 1.00. There was no "porting" effort at all. Apparently Borland is trying to be safe in what they claim. Borland has repeatedly stated that they don't plan to have any new version of TC in the near future and specifically told me that TC++ was there development focus and is the direction to move in. On another note, tests I did this fall with TC++ and Zortech C++ for MSDOS using C++ programs (that use inheritance) showed that with minor source code changes in member functions, either Zortech or Borland could generate the faster code or the smaller executable (sans debug records). This was done in part with proprietary code so I can't post the code. It is consistent with earlier results published in _Computer_Language_ earlier in 1990 with regard to C (not C++) compilers. That article included code fragment examples for C which give some indication of what I mean by "minor" changes. There are a lot of factors to consider in selecting a compiler, but increasingly I am convinced that optimisation is not greatly different among the main compiler vendors (Borland, Zortech, Watcom, MS) and that support, library quality, and such are much more important and are significantly different with different vendors. I have no connection with any compiler vendor other than as an ordinary customer. Opinions expressed are the author's and aren't necessarily those of the University of Virginia.
rschmidt@copper.ucs.indiana.edu (roy schmidt) (01/09/91)
>In article <350bahrd@yoda.byu.edu> bahrd@yoda.byu.edu writes: > > I was wondering what the difference between TurboC 2.0 and > TurboC++ 1.0 in the > standard C mode was? Is there any portability porblems if I write code in > TurboC++ using standard C conventions and then giving the code > to a friend who has Turbo C 2.0? Please let me know!!! > TC++, to begin with, has a full-up preprocessor available unlike the rather cripple one included with TC 2.0. Next, TC++ supports a wider variety of pointers, etc. I am not going to do a detailed list, but it is unlikely that *everything* you write in TC++ as standard C can be compiled with TC 2.0. However, just like with any other compiler, you can carefully write your code that so that it will compile on either version, at the cost of not taking advantage of more sophisticated features of the new compiler. -- -------------------------------------------------------------------------- Roy Schmidt | #include <disclaimer.h> Indiana University | /* They are _my_ thoughts, and you can't Graduate School of Business | have them, so there! */
frank@cavebbs.gen.nz (Frank van der Hulst) (01/10/91)
In article <1991Jan8.195900.28885@murdoch.acc.Virginia.EDU> Ran Atkinson <randall@Virginia.EDU> writes: B > >ALL of the C code I had working cleanly under TC 2.0 compiled as is without >any code changes for TC++ 1.00. There was no "porting" effort at all. >Apparently Borland is trying to be safe in what they claim. The only new warning that came up for me related to pointers to functions, specifically using qsort(). On another note, upgrading to either TC++ or TP 6.0 should not be contemplated if you're using a machine less than about a 12MHz 286 with a fast HD. The VROOM system used does a lot of swapping to/from a HD. -- Take a walk on the wild side, and I don't mean the Milford Track.
jwbirdsa@amc-gw.amc.com (James Birdsall) (01/10/91)
In article <HOLLEN.91Jan8092846@fridge.megatek> hollen@megatek (Dion Hollenbeck) writes: >In article <350bahrd@yoda.byu.edu> bahrd@yoda.byu.edu writes: >> >> I was wondering what the difference between TurboC 2.0 and >> TurboC++ 1.0 in the >> standard C mode was? Is there any portability porblems if I write code in >> TurboC++ using standard C conventions and then giving the code >> to a friend who has Turbo C 2.0? Please let me know!!! > >Unfortunately I do not know specifics, but I just talked to Borland >Customer Service about upgrading from TC to TC++ and one question >that I asked was "Will my C programs just compile without change?" >and they informed me that I would have to PORT them. I have recompiled a fair amount of code from TC 2.0 to TC++ 1.0. The only difference I have found so far is that they reversed the polarity of the return from feof()! This is documented in the manuals, too. Since I don't have them in front of me, I don't remember which did which, but in the TC 2.0 manual it clearly states the feof() returns zero for one condition and nonzero for the other, and in the TC++ 1.0 manual it equally clearly states the opposite. As I said, this is the only difference I have found so far. Your mileage may vary, since the code I was recompiling was intended to be very portable to begin with. Hence, it does not use esoteric features, which may well have changed. -- James W. Birdsall WORK: jwbirdsa@amc.com {uunet,uw-coco}!amc-gw!jwbirdsa HOME: {uunet,uw-coco}!amc-gw!picarefy!jwbirdsa OTHER: 71261.1731@compuserve.com "The OS shouldn't die every time the controller drools on a sector." -- a sysop =========== "For it is the doom of men that they forget." -- Merlin ===========
tjr@cbnewsc.att.com (thomas.j.roberts) (01/11/91)
From article <1991Jan09.194126.14780@cavebbs.gen.nz>, by frank@cavebbs.gen.nz (Frank van der Hulst): > > On another note, upgrading to either TC++ or TP 6.0 should not be > contemplated if you're using a machine less than about a 12MHz 286 > with a fast HD. The VROOM system used does a lot of swapping to/from > a HD. A MUCH better solution is to add 1Mb of Extended or Expanded memory. I use TC++ on an AT&T 6300 (8 MHz 8086, 640 kb, 1 Mb EMS, slow 20 Mb disk). It is quite usable for moderate-sized C++ programs (4,000 lines in 8 files), and larger C programs (25,000 lines in 50 files, using make and tcc). I use make/tcc on the C program, because I never botherd to learn the tc environment in TC 1.0-2.0. I use the TC++ environment for the C++ program, because I started learning C++ on small programs, and learned the tc environment at the same time. I have now used the TC++ environment for a 1000-line yacc/C program, with good results. Tom Roberts att!ihlpl!tjrob TJROB@IHLPL.ATT.COM
cla@isis.cs.du.edu (Chuck Anderson) (01/11/91)
In article <350bahrd@yoda.byu.edu> bahrd@yoda.byu.edu writes: >I was wondering what the difference between TurboC 2.0 and TurboC++ 1.0 in the >standard C mode was? Is there any portability porblems if I write code in >TurboC++ using standard C conventions and then giving the code to a friend who >has Turbo C 2.0? Please let me know!!! Ihave compiled a few programs and I have seen no compatability problems. There are some new library functions, though. I couldn't find this documented anywhere else so I went through the library reference (actually the Turbo C++ Bible) and listed the library functions that are in C++ 1.0 and not in C 2.0. I suppose that this is as good a time as any to share my newfound wealth of knowledge. New library functions in Turboc C++ 1.0: ---------------------------------------- * localeconv - obtain detailed information on country specific monetary numeric, time, and string values (i.e., $1.00 or f1,00) * setlocale - define the current locale [note: the above are pretty useless at this time since Turbo C++ only supports one default locale.] * farheapcheck - far heap diagnostic routines * farheapcheckfree * farheapchecknode * farheapfillfree * farheapwalk * heapcheck - heap diagnostics * heapcheckfree * heapchecknode * heapfillfree * heapwalk * strcoll - compare strings according to the collating sequence specified by the current locale. * strxfrm - transforms strings so that a strcmp returns the same result as strcoll would. * strftime - format items from a tm structure into a string * _OverInitEms - set up expanded memory for swapping overlays * _OvrInitExt - set up extended memory for swapping overlays * _setcursortype - (in textmode) change the shape of the cursor. -------------------------------------- That's all folks! -- ************************************************************************* Chuck Anderson uucp : uunet!isis!cla Boulder, Co. (303) 494-6278 internet: cla@isis.cs.du.edu *************************************************************************
cla@isis.cs.du.edu (Chuck Anderson) (01/11/91)
In article <HOLLEN.91Jan8092846@fridge.megatek> hollen@megatek (Dion Hollenbeck) writes: >In article <350bahrd@yoda.byu.edu> bahrd@yoda.byu.edu writes: >Unfortunately I do not know specifics, but I just talked to Borland >Customer Service about upgrading from TC to TC++ and one question >that I asked was "Will my C programs just compile without change?" >and they informed me that I would have to PORT them. I understand, you talked to Borland Customer Service, but I don't understand their response. I see no differences at all between Turbo C 2.0 and the standard C in Turbo C++ 1.0 (except the library additions that I posted earlier). I have a number of programs that I wrote in 2.0 and have since compiled in C++. I didn't have to "port" anything. I just recompiled. (I haven't compared objects so I don't know if there were differences.) I've recompiled a version of PCJOVE with C++ that was written and compiled using Turbo C 2.0 and I saw absolutely no incompatabilities. Maybe they're talking about using the C++ compile option (not standard C). -- ************************************************************************* Chuck Anderson uucp : uunet!isis!cla Boulder, Co. (303) 494-6278 internet: cla@isis.cs.du.edu *************************************************************************
dougs@videovax.tv.tek.com (Doug Stevens) (01/11/91)
In article <HOLLEN.91Jan8092846@fridge.megatek>, hollen@megatek (Dion Hollenbeck) writes: > > ... I just talked to Borland > Customer Service about upgrading from TC to TC+ > and ... they informed me that I would have to PORT [my programs] ... > The price [$125] seemed a little steep to me since I need none of the > OOP capabilities of C++ ... I've ported a large application, and it took only a day; the only problem I ran into was an inherent problem in my code, which was unmasked by going to the new compiler. One recurring misconception about TC++ 1.0 is that it only adds C++ over the features of TC 2.0. I use TC++ 1.0 all the time now, and I do virtually NO C++ programming; what I got that was really valuable was a much improved development environment (multiple concurrent windows, a framework, mouse support, etc). The Borland marketeers should be playing up this facet. No connection with Borland other than as a very satisfied user.
mcramer@watdragon.waterloo.edu (Mert Cramer) (01/11/91)
From article <1991Jan11.011655.2198@isis.cs.du.edu>, by cla@isis.cs.du.edu (Chuck Anderson): > In article <HOLLEN.91Jan8092846@fridge.megatek> hollen@megatek (Dion Hollenbeck) writes: >>In article <350bahrd@yoda.byu.edu> bahrd@yoda.byu.edu writes: > > I've recompiled a version of PCJOVE with C++ that was written and compiled > using Turbo C 2.0 and I saw absolutely no incompatabilities. > > Maybe they're talking about using the C++ compile option (not standard C). > The original Turbo C++ compiler does NOT use the macr expansions for inport and outport calls. Instead it calls the inport or outport function. There are, most likely, other oopses. The maintenance update v. 1.01 corrects these ommissions (maybe). You can order it from Borland. It is free to holders of the v. 1.00 compiler. I was told yesterday that Borland has just received a new shipment of the update, so delivery should be a bit better. Mert Cramer
jwbirdsa@amc-gw.amc.com (James Birdsall) (01/12/91)
In article <1991Jan09.194126.14780@cavebbs.gen.nz> frank@cavebbs.gen.nz (Frank van der Hulst) writes: >On another note, upgrading to either TC++ or TP 6.0 should not be contemplated >if you're using a machine less than about a 12MHz 286 with a fast HD. The VROOM >system used does a lot of swapping to/from a HD. On the contrary. I get perfectly adequate performance with TC++ on a 4.77MHz XT with lots of EMS. TC++ has more than 1M of EMS for its own use, and I have a 768K disk cache running as well. On the other hand, I'm not sure TC++ has ever needed to swap -- I compiled a 75K source file and the memory display never got below about 10K free (available conventional RAM about 570K). Running on the XT, TC++ on the average _feels_ only slightly slower than MSC 6.0 running on my 20MHz 386 machine at work. No benchmarks to back this up, however. One note: TC++ grabs *all* the free EMS when it starts and releases none of it, even when you shell out to DOS. This can be annoying. A cursory examination of the manuals revealed no way to prevent this behavior and I haven't been annoyed enough so far to waste a lot of time looking. -- James W. Birdsall WORK: jwbirdsa@amc.com {uunet,uw-coco}!amc-gw!jwbirdsa HOME: {uunet,uw-coco}!amc-gw!picarefy!jwbirdsa OTHER: 71261.1731@compuserve.com ========== "Think of an animal that's small and fuzzy." "Mold." -- RM ========= =========== "For it is the doom of men that they forget." -- Merlin ===========
rschmidt@copper.ucs.indiana.edu (roy schmidt) (01/12/91)
In article <26254@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes: >. . . The major thing preventing me from writing ALL of my stuff with the new >Zortech 32-bit compiler for C++ is that Zortech does not have an IDE NEAR as >good <<rest deleted>> (1) check out the Options|Transfer menu in the TC++ IDE. After installing ZTC there, then (2) Look at the System menu (the three horizontal lines at the far left of the menu bar) You will find that ZTC will be a choice there. (3) Write your code using the TC++ IDE. (4) go to the System menu and choose ZTC. (5) ZTC will be called and your code will be compiled. Of course, you can't use the integrated dedugger, etc., and no help files (sigh), but if you like the editor and so on, this is one solution. t -- -------------------------------------------------------------------------- Roy Schmidt | #include <disclaimer.h> Indiana University | /* They are _my_ thoughts, and you can't Graduate School of Business | have them, so there! */