[Lazarus] Troll Tech and Inprise/Borland Collaborate on LinuxGUI
Marc Weustink
weus at quicknet.nl
Sat Apr 29 09:29:25 EDT 2000
At 18:30 28-04-2000 -0700, Curtis White wrote:
>So if I compile a .so file with gcc and then I compile a .so file with
>FPC, do those two .so files work differently internally? This is really
>confusing to me because I had thought an executable was the same no matter
>which compiler it was compiled with. I always thought the compiler just
>took the source code and made it into assembly and then the linker turned
>it into binary code. I didn't know that the binary code was different
>depending on which compiler you use. That is interesting.
>
>What about on Windows? Is an .exe or .dll file that is compiled with FPC
>different than an .exe or .dll file compiled with Borland C++ Builder or MS
>Visual C++ or Delphi?
Correct me if I'm wrong but I think using .so is similar to using .dll Both
are binary libraries. I think a .so / .dll generated by fpc dousnt differ
from one genrated by an other app.
Point here is the way these libs are called. If the lib contains flat
functions you have a calling convention on how the parameters are passed.
To call gtk libs, we use the cdecl convention. If you want to use functions
from a dll you use the stdcall convention.
For objects being passed between libs, you need more than a calling
convention, you also need to support the same objectmodel. IE, how are
methods called and how do I look them up in the VMT.
On the project I'm currently working on I use Interfaces to interface
between the delphi objectrs and say for instance VC objects.
Marc
More information about the Lazarus
mailing list