1

我目前正在制作一些小应用程序的原型,这些应用程序打算在 Mac 和 Windows 上发布。当然,这意味着 Mac 上带有 Objective-C 的 Cocoa 和 Windows 上带有 C# 的 .NET。不幸的是,由于这两种语言完全不同,处理 4 个应用程序更像是处理 8 个应用程序,因为我必须做两次。

在某种程度上,这是不可避免的,但我正在探索如何共享一些处理与平台无关的东西(计算、公式等)的通用代码/函数。

我考虑过 C/C++,但由于它需要编译成 DLL 才能在 C# 中使用,所以它似乎不值得。

现在我正在考虑使用像 Lua 这样的脚本语言,它显示出一些前景,但也不是没有它的复杂性。还有其他可能更好的方法吗?

4

3 回答 3

0

一种方法是使用 Mono,一个跨平台的开源开发框架。

http://www.mono-project.com

于 2013-06-01T20:19:31.390 回答
0

对于 C#,您可以将 C/C++ 用作 DLL。使用 .NET 互操作性和封送处理从 C# 使用 C Dll 非常容易。事实上,这是我为 iPhone 和 WinPhone 开发时首选的解决方案......

有关从 C# 调用 C Dll 的更多信息,请阅读 MSDN,以及这个简单的示例:http: //msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.aspx

于 2013-06-01T21:04:02.333 回答
0

从技术上讲,您可以编写用于 .NET 应用程序的“托管 C++ 程序集”,并且可以将 C++ 直接混合到 Objective-C 应用程序中,但是引用 .NET 对象 (myclass^) 所需的语法已经足够不同,以至于您仍然会最终没有分享太多。

于 2013-06-01T23:33:53.067 回答