> 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