我想知道何时在托管模式和非托管模式下使用c ++?
一种模式比另一种模式有速度优势吗? 在一种模式下访问第三方库比在另一种模式下更容易吗? 是否有任何安装问题需要担心?
答案 0 :(得分:4)
我发现托管模式(C ++ / CLI)主要用作允许您利用旧库的网关工具。简而言之,当我必须在.Net中编程时,我使用它,但需要访问C ++代码库。
就其本身而言,选择C ++ / CLI而不是C#是没有什么理由的,它更干净,更现代,更好地得到IDE和大量工具(例如ReSharper)的支持,甚至可以偶尔做低 - 通过unsafe关键字提升级别。
C ++ / CLI被其设计师吹捧为最强大的.Net语言(很大程度上是因为.Net对象的无缝传统桥接和真正的RAII语义),但它在.Net社区中没有得到太多牵引力
答案 1 :(得分:1)
在C ++中使用“托管”模式(在当前版本中是C ++ / CLI)的唯一原因是访问.NET库。为了使用.NET Framework,或者与.NET语言完全互操作,您需要定位托管API。
这对于在本机代码和托管代码之间创建桥接非常有用,但也可用于托管开发,或在C ++项目中使用.NET库。