2011-06-29 53 views
0

我希望这个问题不会乱用计算器FAQ规则互操作和CRL活动

因此,使用它们用C++编写,例如库时,这意味着我们有一些代码在这些DLL的这是怎么回事在这种情况下执行软件执行时,这部分代码是否会由CLR执行?我需要这个,因为我们计划开发一个软件和一些愤怒的算法,我认为用C++编程它们会更好,但是Visual C#为我们提供了一些我们在C++(Linq,Anonymous等)找不到的工具。

回答

1

您可以在C#项目中使用C++创建的DLL,因为您已经知道必须进行互操作调用。这将上下文切换为不安全的,所以代码可能在CLR之外执行。这意味着你失去了CLR给你的可移植性选项。例如,基于C#的应用程序可以在Windows和Windows Phone上运行,但添加interop调用只会使其在Windows上(或者编译DLL的任何系统)工作。

但通常这不是一个问题。

也看到这个线程:http://forums.devshed.com/net-development-87/using-a-c-dll-in-c-107829.html

+0

我觉得这个应用程序将是一个专业的一个,并且将有一个非常特定的环境,也许我们需要一台机器只运行应用程序和用户不能在系统没有改变所有,所以可移植性不是问题,只是用非托管代码处理会弄乱一些东西,但也会调整应用程序。 – Burimi