CompuServe Messages

#Manx 5.0 problems

    17-Feb-90 22:58:52
Sb: #Manx 5.0 problems
Fm: Drew Lucy 76337,75
To: Mike Spille/Manx 71545,1466
I've been having an awful time with Aztec C 5.0. In fact, my experience has been so bad that I was sure that I must be doing something grossly wrong. Manx wouldn't release a product that worked that poorly. I'm trying to use 16-bit integers and Motorola floating point with small code and data models. Naturally I link with the c16.lib and mf16.lib libraries and use sdbf for debugging. My compiler options are set as follows. CCOPTS = -ps -a -ff -ss -su -sf -wl -wp (output of Manx set command) After a week of frustration, I realized that for some reason the compiler (and probably the assembler and linker) aren't aware of the setting of CCOPTS. If I explicitly set the switches when I invoke the compiler, then the programs work better but still not perfectly. If I rely on the settings in CCOPTS then everything goes to Hell. My Amiga 1000 has a fairly oddball system software configuration. What I need to know is exactly what the Manx set command does. Where are the environment variables stored and how does the compiler access them? Even with all the switches set in the compiler invocation, I believe that pointers are still screwed up in my programs. If I pass some arguments to a program on the command line, the pointers argv[1], argv[2], etc seem messed up. Argv[0] points to the program name but, argv[2] points to the first argument. Argv[1] points off into the ozone. It seems line like the pointers are passed as 32-bits and the program is expecting pointers to be 16-bit. On another subject, what's with all of the BPTR'S in the Amiga Dos section of functions.h? The compiler complains about these pointers and the Manx manual describes the functions using pointers to the appropriate data structures. HELP!