[rdnzl-devel] Re: RDNZL-cpp for Visual C++ 2005

The previously reported problem with COM Interop http://common-lisp.net/pipermail/rdnzl-devel/2006-June/000094.html was solved by Michael by recompiling the C++ code (after porting it to a newer version of Visual Studio). If you're interested in using the C++ code with VS 2005, Michael's port is available here: http://weitz.de/files/RDNZL-cpp-0.5-vc8.tar.bz2 Below is his description of what had to be changed. Cheers, Edi. On Fri, 9 Jun 2006 16:53:31 +0200, "Goffioul Michael" <michael.goffioul@swing.be> wrote:
I don't know if you're interested, but I ported the RDNZL C++ library to visual c++ 2005 (express edition) (aka msvc8). I did it because I needed to change the default threading attribute of the DLL to single mode, which required re-compilation, and I only had that version of the compiler. As far as I could test it, it works (I tested it with a project of mine and ECL). As of this compiler version, a lot of CLR related stuffs have changed. Most of the modifications I had to do were: - replace *-pointer to managed object to ^-pointer - replace C-style array of managed objects to cli::array<type^> objects - replace the use of '0' as null pointer to managed object with 'nullptr' - replace __gc class attribute with ref - remove __nogc attribute (according to the doc, it's not needed anymore) - replace __pin attribute with pin_ptr<type> objects - use safe_cast for managed object casting - create String^ object explicitely from __wchar_t* - replace "new" on managed type with "gcnew" - slightly change how GCHandle references are used, because the compiler counldn't find the op_explicit() member in GCHandle class - remove the tricks that were required to avoid dead-lock when loading a mixed assembly - problably other small things I don't remember
participants (1)
-
Edi Weitz