0

我有一个用 C++ 和 directX 编写的渲染器。我现在想编写一个(关卡/场景/UI)编辑器,如果可能/现实的话,我更愿意用 C#/.net 编写我的编辑器的界面

这是完全可行的,而无需遵循托管 C++ 的路线?我可以在没有托管 c++ 的情况下将渲染器中的必要接口公开给 C# 应用程序吗?

4

3 回答 3

1

好吧,这取决于您如何编写它...如果您将渲染器编写为 COM 对象,那么您应该没有麻烦。作为使用 C 调用的 DLL,我相信仍然相对容易。类更复杂。AFAIK 如果不编写托管 C++ 包装器,就无法做到这一点。

事实上这个链接: http: //www.codeguru.com/cpp/cpp/cpp_managed/interop/article.php/c6867/似乎同意我的观点:)

于 2010-01-21T10:32:19.417 回答
0

用C++/CLI编写包装器比使用托管 C++更容易完成(IMO)。我发现它很容易理解,并从对好的 C++ 的粗略理解开始。

此外,C++/CLI 语法比托管 C++ 语法更好。

如果你走这条路,我会推荐这本书。

于 2010-01-21T22:47:26.550 回答
0

C++/CLI 是托管 C++ 的替代品,基本上是相同的,只是更好,所以我认为您的问题也适用于避免使用 C++/CLI。我认为答案是否定的——你必须用某种托管语言包装它,C# 才能访问这些类,COM 路由除外。

于 2010-01-25T02:37:33.623 回答