(想直接看结果的直接翻到最后)
之前对C++接触不多,最近工作需要,第三方给了一个C++的lib库,我们需要把它封装一下在C#中调用。对方要是直接给Dll就省事了。。。
研究了一下,基本有三个方向:
1. 建立CLI类型的,或者叫Managed的基于.NET的dll,这样c#可以直接进行引用。
2. 建立native的c++ dll,然后在C#用 dllimport的方式调用。
3. 建立com组件。
一开始感觉第一种很美好。直接加到reference中就能像引用一个C#的dll一样使用了。而且有一个好处是,我可以把这个dll工程和我的调用的C#工程放在一个solution中,然后在调试的时候,断点能直接进入到这个C++的工程中。这点要调试起来是很美好的哦。