2010-03-17 106 views
1

.Net模型是這樣的: C#代碼 - > C#編譯器 - >託管模塊(Win PE) - > CLR - >「你好,世界」 該代碼被編譯爲託管模塊調用CLR,然後進行必要的工作來運行代碼(假設它是一個exe)。託管模塊和平臺獨立

我最初的理解是.Net是Microsoft的Java Framework的等價物,CLR是JVM的MS等價物。但這裏有趣的是,Managed模塊是一個Win PE,這意味着任何想要使用.Net的操作系統都必須接受並使用Win PE格式。我的問題是:

  1. 到目前爲止該理論是否正確?
  2. 支持/實現Win PE格式的Linux/Unix/Solaris/OSX等有什麼機會?
  3. 是否有任何替代品目前正在努力使互操作性發生?
  4. Java在不同的平臺上執行Java的路徑是什麼?

回答

2

您正在尋找Mono

回答您的問題:

  1. 是。
  2. 他們已經通過Wine和Mono做到了。
  3. 我不確定你的意思。
  4. Java編譯爲.jar文件,這些文件由Java運行時打開,與Microsoft Word打開.doc文件的方式相同。
+0

好的。那麼,如果他們能夠爲Linux提供一個CLR等等,那麼.Net代碼就可以無縫地運行在它上面了。 – 2010-03-17 15:20:43

+0

Linux已經有一個CLR - Mono。但是,並非所有代碼都能無縫運行。 – SLaks 2010-03-17 15:28:22

+0

太棒了。謝謝(你的)信息。 – 2010-03-17 15:42:23