home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 9
/
FreshFishVol9-CD2.bin
/
bbs
/
reviews
/
programmer.lha
/
programmer
/
SAS_C_Version6
< prev
next >
Wrap
Text File
|
1992-10-02
|
15KB
|
328 lines
Newsgroups: comp.sys.amiga.reviews
Path: menudo.uh.edu!usenet
From: stelmack@eggo.csee.usf.edu (Gregory M. Stelmack)
Subject: REVIEW: SAS/C Compiler version 6.00
Message-ID: <1992Oct1.154217.5111@menudo.uh.edu>
Followup-To: comp.sys.amiga.programmer
Keywords: C compiler, development, programming, commercial
Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
Nntp-Posting-Host: karazm.math.uh.edu
Reply-To: stelmack@eggo.csee.usf.edu (Gregory M. Stelmack)
Organization: The Amiga Online Review Column - ed. Daniel Barrett
Date: Thu, 1 Oct 1992 15:42:17 GMT
[MODERATOR'S NOTE: On October 2, 1992, Doug Walker of SAS
(walker@unx.sas.com) responded to this review by e-mail. I have
enclosed his comments at appropriate places below.]
PRODUCT NAME
SAS/C Compiler for AmigaDOS, version 6.00
BRIEF DESCRIPTION
SAS/C 6.00 is a C development environment, including editor,
compiler, linker, debugger, on-line help, and a number of useful utilities.
[Moderator's note: the debugger is not reviewed.]
AUTHOR/COMPANY INFORMATION
USA: SAS Institute, Inc.
Book Sales
SAS Campus Dr.
Cary, NC 27513
Telephone: (919) 677-8000
FAX: (919) 677-8166
Europe: SAS Institute GmbH
PO Box 10 53 07
Neuenheimer Landstrasse, 28-30
6900 Heidelberg 1
Telephone: (49)6221-4150
FAX: (49)6221-474850
New Zealand: SAS Institute (NZ) Ltd.
PO Box 10-109, The Terrace
Wellington, New Zealand
Telephone: (64)4-4727-595
Telex: NZ31525 MED
FAX: (64)4-4727-055
Australia: SAS Institute Australia Pty. Ltd.
Private Bag No. 52
Lane Cove, NSW 2066
Telephone: (61)2-428-0428
FAX: (61)2-418-7211
E-mail: For technical support, see below
LIST PRICE
Suggested retail is $395 US, although I have seen it for $290.
Educational price is $197.50, as is the price if you trade up from a
different compiler. Upgrades from SAS/C 5.xx are $109. Shipping is
extra.
[MODERATOR'S NOTE: SAS reports that "shipping inside the USA is
free. Shipping to Canada and outside the USA is extra. European
customers need to contact SAS Insitute in Germany to determine their
policy on shipping."]
SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
HARDWARE
Requires 1 megabyte of RAM. Some features need 2 megabytes.
2 floppy drives are required, but a hard drive is STRONGLY
recommended. Uses around 5 megabytes of hard drive space,
although this varies with how much you choose to install.
Works with any Motorola CPU, although a faster CPU leads to
faster compiles.
SOFTWARE
At least AmigaDOS 1.3. Enhanced operation with 2.0 plus.
COPY PROTECTION
None. Hard drive installable.
REVIEW
Well, the long-awaited upgrade to the SAS/C Compiler for AmigaDOS is
finally available. Mine arrived a few days ago, and I have been tinkering
with it extensively since then. I haven't been able to get in-depth into
its more complicated features yet, but have a fairly good feel for how it
works overall. If my impressions change very much, I'll post a follow-up
review.
SAS/C is a complete development environment. In addition to the
compiler and linker, the package includes an editor, source-level debugger,
assembler (mostly for writing assembly functions for C programs), an on-line
help facility, sample source code, and a bunch of small, useful utilities.
Quite a bit has changed since the 5.xx releases.
The first step when I got the new compiler was to install it. Since
all the program names have changed, and the header files updated, I first
deleted my old Lattice C area. Then, I ran the install program included on
Disk 1. It asks you what parts of the compiler you want installed (allowing
you to leave out the debugger, or editor, or anything else you would prefer
not to use). It also asks for compressed or uncompressed header files.
The only thing I left out was the Cross-Debugger. This lets you run
the program on one machine, and the debugger on another. Having only one
Amiga, I left it out. I also stored uncompressed headers for two reasons:
this makes them easier to view on-line, and with the addition of GST's
(Global Symbol Tables), they don't slow down the compile.
Once the system was installed, I next had to modify all my icons to
point to the new utilities ("se" instead of "lse", etc.). Fortunately, the
new "scsetup" program can go into a project and create icons for any files
that don't have them. So, I deleted all the icons in my projects using SID,
and then ran "scsetup" on the drawers. Presto! Instant icons for all my
source files. Then I just had to change my options using the scoptions
utility.
Of course, on later perusal of the documentation I discovered this
neat command line switch for "scsetup" called "FORCE". It will force
"scsetup" to create icons in the drawer even if icons already exist. That
removes my step of deleting the icons first. I recommend you use that
switch if upgrading from 5.xx.
Now I was ready to code. Things work like they did in 5.10 -- there
are icons for each source file, and you double-click on the icon to edit it.
To create a new file, click on the 'Edit' icon, and give it a name. "se"
will create an icon for you. The editor now has a file requester if you run
under 2.0 (it uses the ASL requester), and lets you mark blocks of text by
dragging the mouse. In addition, it has a complete ARexx interface,
allowing you to write your own scripts. It can also run ARexx commands, and
several are provided, one of which gives access to the on-line help facility.
After editing, make sure you set your options with the Options
utility. This lets you specify your compiler options in an Intuition
environment. Once you get your options straight, click the "Build" icon, and
the compiler goes to work.
If you really like using the CLI, be warned that 6.00 uses a
different style of command-line switch. They now use the AmigaDOS style.
This means that there are full English-text words for compiler options.
CPU=68030 tells the compiler to generate code optimized for the 68030, for
example. In addition, switches are no longer just toggles, something that
caused problems in 5.10.
The new version has vastly improved error messages to help you
pinpoint errors. In addition, it presents them in a small window that is
part of the message browsing facility. If you have specified the
'NoErrorRexx' option, it will automatically open "se" to the spot of any
error. Clicking the error message in the browser will do the same thing.
If 'ErrorRexx' is specified to the compiler, an ARexx facility is opened,
allowing you to use any editor in the same way. I use "se", so I have not
much explored this option.
[MODERATOR'S NOTE: SAS reports that "The message browser window
gets messages if the ErrorRexx option is enabled. ErrorRexx is
AUTOMATICALLY enabled if you compile from WorkBench. You can teach
the browser how to talk to your editor; once you have done this, you
can double-click on the message and it will invoke your editor for
you, then talk to it via ARexx to move to the correct file and line
number. Therefore, the "ARexx facility" that you mention is
actually the message browser itself. Macros to bind the message
browser to SE, CygnusEd and TurboText are provided."]
If everything goes OK, you are now ready to run you program. If
something goes wrong, you can then run the debugger. I have not had a chance
to play with the debugger yet, so I can't give a first-hand account.
However, it is supposed to boast an improved interface, and more importantly
let you enter C expressions to display, instead of just variable names.
That fixes one of the biggest gripes people have had about CPR.
One of the other big additions are GSTs, or Global Symbol Tables.
Essentially, you compile your program once with the MakeGST option. This
compiles all of your header files ONLY, and creates a GST. Then, when you
later compile, you specify a GST to use. Before a header file gets included,
the compiler searches the GST. If that file is found, the precompiled
information in the GST is used. Since GST's stay in RAM, disk access is
avoided, and the compiles go much faster.
M