extern (C) private linking issue

Will DeVore (Quartz) quartz13163 at distanthumans.org
Mon Feb 26 09:18:20 PST 2007


Frits van Bommel Wrote:

I should have explained the environment a bit better, but Frits you are correct. I am experiencing this using ODE.org. When a collision occurs ODE calls back to the D code. The callback needs to be defined as extern (C) otherwise D crashes when the callback completes.

I was using the 'private' attribute to in the module such that it wouldn't clash with the other simulation modules that have the same function name.

> I have also on occasion wanted to specify calling convention without 
> specifying mangling, but current D doesn't offer that possibility :(.

I wonder why then it works under linux though. The linux linker seems to be able to identify the correct private function. I don't really know how Optlink works but I would say it is having problems making unique mangled names inside of modules with private attributes. Hmm...




More information about the Digitalmars-d mailing list