Re: c compilers on Alpha/NT for call_external [message #12496] |
Thu, 13 August 1998 00:00 |
menakkis
Messages: 37 Registered: June 1998
|
Member |
|
|
Ray <muzic@uhrad.nospam.com> wrote:
> Does any one have experience writting call_external routines in C on
> Alpha/NT? What C compiler is recommended? I see Microsoft has
> Visual C++ for RISC.
I wrote one sometime back (when IDL first came out for ALPHA/NT) using
Microsoft Visual C++ version 4. (This was the latest version of MSVC at the
time.)
Basically, if you've written a DLL for IDL on Intel NT (or Win95) then
chances are that you can simply recompile it for Alpha/NT. There are a few
minor differences here and there, I think, but you would most probably not
encounter them in a "typical" DLL for IDL. (I only encountered one problem
area.) INTs and even LONGs and pointers remain 32-bit on Alpha/NT, etc.
That problem area I mentioned: Floating point exceptions. There are a few
differences here between the MSVC compilers on Alpha and Intel. One or two
of my routines have the potential to generate floating-point underflows and
the like. e.g., Some use exp(x), where x can be a "small" negative number
(like -200.0, say). I usually turn underflow and denormal exception handling
off for these routines. I couldn't do this completely on Alpha/NT - the call
used to mask FP exceptions doesn't mask denormals. (Well, I suppose I could
have written my own trap handler or something, but I wasn't up to it.) Also,
if you change the default FP behaviour in MSVC for Alpha in certain ways, you
can seriously degrade the Alpha's FP performance.
Cheers
Peter Mason
-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum
|
|
|