[Mono-list] Questions on the Mono roadmap

Paolo Molaro lupus@ximian.com
Wed, 19 Jan 2005 16:34:35 +0100


On 01/18/05 Jonathan Pryor wrote:
> Just curious, but what part of the C++/CLI proposal requires a P64
> memory model (instead of LP64)?  And more importantly, *why*?

In C++/CLI longs are 32 bit and this makes it useless for
interoperability with C++ code in any 64 bit arch that is not windows.
You can still use it to have the C++ template support and multiple
inheritance, but the rest of the language and the CLI adaptations are 
so ugly that I think it's not worth the pain. People
should just avoid managed C++: it was a tentative to bridge from
old programs to the new managed world, but it is a failure.
People who ported to managed C++ will have to rewrite, because it
will soon be unsupported. C++/CLI may not have a better fate:
if you have to rewrite you can just as well switch to C#.

If you need to access managed code from C++ using mono, the
embedding interface is the right way to do it, wrappers like
cilc can help to provide a nicer interface.
If you need to access C++ code from mono you currently
need to provide C wrappers that can be pinvoked: it's not
unlikely, though, that an enterprising contributor or a
skilled student would enhance mono so that it can use C++
directly with a simple attribute set on a class (maybe
also generating the class automatically by parsing the C++ 
header files).

lupus

-- 
-----------------------------------------------------------------
lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better