How can I call FORTRAN (C++, BASIC, Pascal, Ada, LISP) functions from C? (And vice
The answer is entirely dependent on the machine and the specific calling sequences
of the various compilers in use, and may not be possible at all. Read your compiler
documentation very carefully; sometimes there is a ``mixed-language programming
guide,'' although the techniques for passing arguments and ensuring correct
run-time startup are often arcane. Besides arranging calling sequences correctly,
you may also have to conspire between the various languages to get aggregate data
structures declared compatibly.
In C++, a "C" modifier in an external function declaration indicates that
the function is to be called using C calling conventions. In Ada, you can use the
Export and Convention pragmas, and types from the package Interfaces.C, to arrange
for C-compatible calls, parameters, and data structures.