How do I call a .NET code from native C++ (unmanaged code)? I want to expose .NET code to my unmanaged (C++) application and then use them. More specifically, I want to call C# from native C++ :). I know there are many ways but can you tell me the pros and cons of each? By the way, I don't want to use COM so what are the options now?
Is it possible that I wrap the C# code in C++/CLI and then call it from C++? If so, how do I do that? How do I wrap the C# in C++/CLI and then call it from C++?
I've written about it just recently. It was about Delphi, but that doesn't mean it won't work with C++ as well.
.NET component in DELPHI 2009
Even without knowing much about C++, I still know that IUnknown and COM-compatible interface references should be usable just fine from C++ (in the case you need to pass objects, not just structures).
This C# code would export a function "YourExportName" that can be used just like any c-compatible function would be used.
class Sample
{
[DllExport("YourExportName")]
static int TestFunction(int left, int right)
{
return left + right;
}
}
You can always embed Mono. I have personally done it in two projects so far and it's easy enough. Follow Embedding Mono for more information.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With