Fragile ABI
Paulo Pinto
pjmlp at progtools.org
Fri Aug 17 05:03:09 PDT 2012
On Thursday, 16 August 2012 at 14:58:23 UTC, R Grocott wrote:
> http://michelf.ca/blog/2009/some-ideas-for-dynamic-vtables-in-d/
>
> The above blog post, written in 2009, proposes a system for
> solving the Fragile ABI Problem in D. Just wondering whether
> anything like this is a planned feature for druntime.
>
> C++'s fragile ABI makes it very difficult to write class
> libraries without some sort of workaround. For example,
> RapidXML and AGG are distributed as source code; GDI+ is a
> header-only wrapper over an underlying C interface; and Qt
> makes heavy use of the Pimpl idiom, which makes its source code
> much more complex than it needs to be. This is also a major
> problem for any program which wants to expose a plugin API.
>
> It would be nice if D could sidestep this issue. It's
> frustrating that C is currently the only real option for
> developing native libraries without worrying about their ABI.
The is only so, because in most mainstream OSs, the C ABI is the
OS ABI.
If you make use of an OS written in, lets say Modula-2, then the
OS ABI
would be a Modula-2 ABI, which even C would have to comply to
somehow.
I think z/OS, if I'm not mistaken on the OS, is one of the few OS
where
you have a good ABI across multiple languages.
This is similar to what Microsoft somehow tries to achieve with
COM and .NET.
--
Paulo
More information about the Digitalmars-d
mailing list