[fpc-pascal] Re: Automatically exporting C++ API using SWIG??
download itweb
dev.dliw at googlemail.com
Fri Oct 26 17:02:12 CEST 2012
Hi,
> Perhaps this could help somebody...
I kept an eye on Swig for quite some time, but reading your posting I
decided to give it a try.
A summary for everyone interested:
[latest swig (2.0.8) - adapted patch - not sure if I made everything
correct (API changed since the patch was made)]
1. The generated C++-Wrapper looks quite good and is compilable; at
some places it seems to be a bit overkill, e.g.:
<<--
SWIGEXPORT int Delphi_gcd(int pasarg0, int pasarg1) {
int cresult = 0 ;
int arg1 ;
int arg2 ;
int result;
arg1 = (int)pasarg0;
arg2 = (int)pasarg1;
result = (int)gcd(arg1,arg2);
cresult = result;
return cresult;
}
-->>
Maybe I'm totally wrong, but in my eyes the following would be enough:
<<--
SWIGEXPORT int Delphi_gcd(int pasarg0, int pasarg1) {
return (int)gcd((int)pasarg0,(int)pasarg1);
}
-->>
2. The Delphi / ObjectPascal part definitely needs some more work, the
function import is ok, but the object wrapper doesn't work properly
and swig generates unusable code [it could be, that I messed up
something, when adapting to new swig].
But if you would edit the pascal unit anyway - I certainly would - it
is quite usable in its current (early?) state...
I tested just out of interest and have no plans to do further work -
but I assume - if somebody really needs it - you could make it fully
work with little effort...
Hopefully this report helps somebody...
Btw. if somebody wants the adapted code, I will upload it..
Regards,
d.l.i.w
More information about the fpc-pascal
mailing list