问题
I have the c++ source code of functionality which is appealing to me.
What effort/work is involved/required in order to either reference this from a .net application or build this code as a .net assembly (preferably c#)?
This is my first attempt at porting code, so please breakdown your answer for me step by step.
回答1:
There are several ways of doing it.
- PInvoke
- Create C++/CLI wrapper around your C++ native code (make static library out of C++ native code) and C++/CLI generated assembly can be easily utilized in .net application.
- COM, i.e using interop (which is difficult among all the options)
In my suggestion easiest way is to use option 2, but you need to take care of proper marshaling.
回答2:
Solution A:
- If you have the source code, then compile the CPP program as a DLL file.
- Use P/Invoke
Solution B (if the functionality you want is in a static library):
- Create a stub function caller and compile THAT as a DLL
- Same as solution A.2
来源:https://stackoverflow.com/questions/14152192/build-native-c-for-use-as-net-library