将Objective-C支持添加到.NET公共语言运行库需要什么?

arm*_*ahg 13 .net clr objective-c

.NET CLR是否可以支持Objective-C?是否有任何理由(从法律或实施的角度来看)为什么这是不可能的?

本着跨平台应用程序开发的精神,能够在Windows机器上编写和运行Objective-c应用程序会很不错.至少我认为会.

Cur*_*her 6

Objective-C是C的严格超集.因此,它有很多功能,比如指针很难转换为.NET.当然,可能是 - 在实践中 - 大多数Objective-C程序都是以这样的方式编写的,即它们也会针对更严格定义的语言规范版本进行编译,该版本更具限制性,但可以转换为安全的码.

假设是这种情况,Objective-C的方法调度部分自然适合DLR的动态能力.我实际上考虑过创建这样一个端口.


wpr*_*prl 1

不,确实没有。.NET 编译为IL(或 CIL 或 MSIL),它基本上是虚拟机的机器代码。您可以像在汇编中一样在 IL 中进行编程(我还没见过有人这样做)。如果您有经验、知识和进取心,那么编写 Objective-C 到 IL 编译器就不会有问题。天哪, .NET甚至还有函数式编程语言 (F#) 。除了消息传递功能和库之外,它与 C#、VB.NET 等没有太大区别。

多么棒的主意啊!Objective-C# 或类似的。

您可以从这里开始:有关 Microsoft IL 的维基百科