In article <***@corp.supernews.com>, Z <***@no.spam> writes:
:Larry Kilgallen wrote:
:> DEC C implements an extended ANSI C and runs on both VAX and Alpha.
:
:Which can make badly written code break in rather mysterious
:ways, like having -1 be greater than 100 in a comparison, for
:example.
The compiler has flagged that coding error for some time now.
Diagnostics continue to improve, of course.
:A few other common gotchas with DEC C are leaving the VAX C
:.OPT around and linking with VAXCRTL (bad!)
I haven't tried this in some time, but I'd expect the contents
of the VAX C RTL to be ignored by the linker as the symbols are
not prefixed and thus not referenced. This gets ugly on the
compilations not using the typical library symbol prefixing.
... and not realizing
:that some functions (socket i/o funcs, IIRC) are not linked
:in properly without the /PREFIX qualifier.
The /PREFIX processing has been moving for some time now, and
the particular compiler behaviour cited was corrected some time
ago. The FAQ covers some of this, as well.
There have been extensive changes in newer C run-time libraries,
as well -- I hadn't read the manual in some time and was quite
surprised at the number and the scale of the added routines and
features.
Of course the best approach for all this does obviously involve
reading the available documentation, including the VAX C porting
guide available within the HP/Compaq/DEC C for OpenVMS VAX manual
set should VAX C code be involved.
---------------------------- #include <rtfaq.h> -----------------------------
For additional, please see the OpenVMS FAQ -- www.hp.com/go/openvms/faq
--------------------------- pure personal opinion ---------------------------
Hoff (Stephen) Hoffman OpenVMS Engineering hoff[at]hp.com