I agree; you need to look at your own compilerS.
I add the S because linking object code from two different languages can get
one into a lot of trouble if they don't obey the same rules.
Also one should note that some compilers pass addresses (best in my opinion)
while others pass "values". (Values? C passes values sometimes and addresses
if it feels like it, so be careful.)
And some compilers pass 'hidden' information.
This is true, but many systems have calling standards that define how
functions and procedures are called. It is very important that the
On Sun, 11 Sep 2005 11:38:20 +1000
Colin Carter wrote:
libraries all comply with a standard.
For example, I use the Intel compiler on IA64 because it generates
significantly faster code, but the system libraries are all generated
by gcc, and some of the 3rd party binaries might be built with gcc or
icc.
Interoperability is what you are talking about. For instance, C and C++
pass parameters by value (C++ may also pass by reference). Languages
like FORTRAN and COBOL pass parameters by reference. The compilation
system must provide the interoperability tools. (Passing by reference
in C is simply passing the address, so the C programmer needs to know
what is being called).
--
Jerry Feldman
Boston Linux and Unix user group
http://www.blu.org PGP key id:C5061EA9
PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9