[net.micro.cbm] Proline C

kpschoedel@watnot.UUCP (kpschoedel) (04/17/85)

ratosthenes' Seive benchmark from BYTE magazine (Apr81?),
with only one time through.  Execution required 7 (yes, seven) seconds.
This compares to 318 for BASIC, 55 for Oxford Pascal, and 85 for
Kyan Pascal.

Compilation is reasonably fast--most of the time is spent waiting for
the compiler to load.  (It's in two parts; takes about 2:30 total on
a 1541).

That's provided it works.  It is heavily copy-protected, and often
rejects its own master disk.  Of four copies (of course I mean four
original, brand new disks) from a local computer store, two would
not work at all, one worked about 30% of the time, and one works
about 80% of the time.  At at least 90s per attempt, failures
quickly become annoying.  I don't know if this is typical, but I'd
suggest you try before you buy.  It is a good compiler, though.

It comes with editor, compiler, linker, library functions, and a few
utilities.  The editor has a syntax-check command; this catches
missing braces, parentheses, semicolons, etc., but not undeclared
identifiers and such.  It's a time-saver.
The library functions are all provided in compiled form only; they
are added during the linking process.  This helps keep compilation
time down.  Incidentally, the linker adds only those functions
actually used by the program, unlike some compilers that add a default
library and produce monstously large code.  Programs can be linked
either to run under the shell program provided, or under basic, or
at any specific address.  Code seems to be the same size in all cases.

Other points: short, long, and int are identical, as are float and double.
For floating point operations, the compiler apparently uses the basic rom
routines.  Lessee, now; there are no bit-fields, and static initializations
are limited.  There are also a few so called 'program anamolies',
ie compiler bugs, but these are minor and easily avoided.

The manual includes reference to the library routines, comments on
how to increase code effeciency, and instructions on using machine
language subroutines with C programs.  There's also an introductory
SAMS/Waite text on C.

A phone number is provided for a help/bulletin board; it's somewhere
near Chicago, I think.

Concluding, I think this is a pretty good package.  I just hope they
can produce consistently readable disks soon.

If you want to contact me about this, don't mail to me here; my account
goes pfffft at the end of the term.  Use paper mail to: 
Kevin Schoedel, RR#1, Erin Ontario, N0B 1T0,
or call (519) 855-4690.  

rupp@tetra.UUCP (William L. Rupp) (12/04/85)

I have purchased POWER-C for the Commodore-64 from Proline.  Unfortunately,
I am unable to figure out from the documentation how to compile and run
a simple one (main) function program.  The compiler is described, and the
linker as well, but the procedure for a program which does not need to be
linked to another object file is not there, so far as I can tell.  

Being a beginner in C, I suppose I am missing something very basic, here, 
but I do want to figure out how to make it work.  Anybody familiar with 
POWER-C?

rupp@tetra.UUCP (William L. Rupp) (12/04/85)

I recently bought the C compiler for the Commodore 64 put out by Proline.  The
package looks very good, but I have not had any luck in compiling even a
very short program such as the following:

/* a sample program */

#include <stdio.h>

main()

{
 
printf("This is a test.");


}                                                       

The documentation speaks about the compiler and then the linker, but does not
indicate how a simple single function program like the one above is changed
from an object file (assuming that I could successfully compile the source) to
an executable program.  The documentation seems to assume that two or more
object files will always be linked together.

I would appreciate information from anyone familiar with Proline C.  I        
appologize if my beginner's questions seem simplistic.

mcewan@uiucdcs.CS.UIUC.EDU (12/06/85)

> I have purchased POWER-C for the Commodore-64 from Proline.  Unfortunately,
> I am unable to figure out from the documentation how to compile and run
> a simple one (main) function program.  The compiler is described, and the
> linker as well, but the procedure for a program which does not need to be
> linked to another object file is not there, so far as I can tell.  

There is no such thing as a C program that doesn't need to be linked to
other object files - it must use some library routines. Compile the program,
then run the linker. Give it the name of the main routine object file, then
give it an up-arrow to make it search the library routines. That should
do it.

			Scott McEwan
			{ihnp4,pur-ee}!uiucdcs!mcewan

"Listen! You smell something?"

jrg@hpda.UUCP (Jeff Glasson) (12/11/85)

In article <119@tetra.UUCP> rupp@tetra.UUCP (William L. Rupp) writes:
>I recently bought the C compiler for the Commodore 64 put out by Proline.  The
>package looks very good, but I have not had any luck in compiling even a
>very short program such as the following:
>
>/* a sample program */
>
>#include <stdio.h>
>
>main()
>
>{
> 
>printf("This is a test.");
>
>
>}                                                       
>
>The documentation speaks about the compiler and then the linker, but does not
>indicate how a simple single function program like the one above is changed
>from an object file (assuming that I could successfully compile the source) to
>an executable program.  The documentation seems to assume that two or more
>object files will always be linked together.

To compile and link the above program:

First compile the program using cc (eg. cc test.c).
This produces a .o file.

To create an executable out of the .o, you must use the linker to link in
the runtime and library routines.  Invoke link then issue the commands:

> test.o		; specify the .o file
> ^			; tell the linker to search the libraries
			; make sure the library disk is in before
			; you hit return!
> <cr>

If all goes well, link will now ask for the name of the executable
you wish to write.  If there are still undefined externals, link will
tell you and return the ">" prompt.

Hope this helps!

Jeff Glasson
Hewlett-Packare ISO
{ucbvax,hplabs}!hpda!jrg