J wrote:
I am looking for a way of having a C++ exe integrate with a .NET dll.  I have a 
solution working under Windows (Microsoft.NET 1.1) however I would like to make 
this function under Mono.
Here are the details: I currently am writing a C# wrapper of a C++ game engine. (T2D by garagegames) I wrote this on Windows (CLR v1.1) and the main way this works is by adding Managed code to the C++ engine (so now it is mixed Managed/Unmanaged C++) so it can directly call into my C# DLL, and using PInvoke to have the C# DLL talk balk to the C++ engine. The C++ engine itself is OS agnostic (it works on windows, linux and mac), and I would love to make this C# wrapper work under mono, so that it is OS agnostic as well. However, http://www.go-mono.com/faq.html#63 informs me that Mixed mode assemblies do not work under mono. Is there any way to have this work under Mono? Please realize that the basic need is to have 1 instance of a C++ exe call into a .NET dll, and have that DLL be able to then execute functions in the C++ exe that called it. So this requires a mono-equivlant of PInvoke, plus a way to have the C++ app call the C# app. Help on this would be appreciated, otherwise it'll be Windows only!


You have 2 options to make this work under Mono:

1. Embed the Mono runtime in you C++ app. Have a look at samples/embed
   of the Mono source package.
   From C++ you can access the managed code using Mono's metadata API.
   C# can access unmaged code using internal calls you have to provide.

   pros
     - pretty straightforward (IMHO) but still a lot of work.

   cons
     - only for Mono. It won't work unter MSFT's runtime.

2. Build a C wrapper for the C++ library making it p/invoke
   compatible.

   pros
     - the wrapper can be made platform independend

   cons
     - a lot of work


I'd go for (2) because it is portable. (1) has more optimizing
potential because you can mix C++ and C# at some level.

Rob

_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to