Sergey Chaban wrote:
For my case, I am worried more about the "entry point" into the native library. That is, within a Managed C++ wrapper class, any calls made to heap-allocated instances of unmanaged C++ code. That is where the problems occur.As long as it is only the initialization code, the few routines that are used can be faked, so that should be no problem.I think the problem here is finding managed entry point. Say, C++ compiler generates _mainCRTStartup() entry, this is embedded x86 code, how would you find managed entry without interpreting mainCRTStartup? You can't rely on the naming, because even though managed entry for MC++ would be called "main", it's just a convention - some .NET obfuscators already replace this with something else. Well, unless I'm missing something :-)
BTW, to produce pure IL from C++ code the following options needed for the linker (assuming that -clr option is already used for the compiler): $link -nodefaultlib -entry:main mscoree.lib
Thanks, I'll check the options being used when the assembly is linked.
I would agree that for a native C interface (e.g., GTK+), that would be better. From what I have seen of P/Invoke, however, it seems undesirable for use with a C++ API due to all the static methods. What it really comes down to is that I want to write a class in C# that implements an interface defined in unmanaged C++. An instance of the C# class would be passed through to unmanaged C++ code. There are a lot of details involved with this, but the inherent object-oriented nature does not seem to lend itself well to the structure of P/Invoke-style code.But anyway original question was about using MC++ to interact with C++ libs compiled to _native_ code, if I understood the post correctly. I think in such case a C interface and P/Invoke would be a much better choice.
-Patrick
--
Patrick L. Hartling | Research Assistant, VRAC
[EMAIL PROTECTED] | 2624 Howe Hall: 1.515.294.4916
http://www.137.org/patrick/ | http://www.vrac.iastate.edu/
_______________________________________________
Mono-list maillist - [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list
