> bounces at mailinglists.sqlite.org] On Behalf Of Simon Slavin

> There must be a Windows element in there, though.  On the Mac I can create
a
> create a project in Xcode which has C, C++, Objective-C, Java and Python
code
> in (probably other languages too) and they can all call functions in one-
> another and the project compiles into one application without any
libraries.
> You do have to know some function-name conventions (e.g. Objective-C
> functions really start with an invisible '@' and C++ functions end with an
> invisible '_') but once you've figured that out it works.

Of course. DLL means windows; on Unix it would be .so or something else.

But I think if you compile code for the x64 processor chip and call it from
x86 or vice versa then either it doesn't work or you pay a high price for
thunking from one to the other. I think that's unavoidable regardless of OS.

> From what you wrote about Windows uses the library calling convention as a
> standardised way for one code in one language to call code from another.

Correct. The very first release of Windows had DLLs with an table of entry
points and a mechanism to load them dynamically and call them using a
C-style API. That same mechanism is alive and well today. The file layout
still has the same MZ signature from Mark Zbikowski, an MS-DOS developer.

Regards
David M Bennett FACS

Andl - A New Database Language - andl.org





Reply via email to