2009-10-12 43 views
5

我只是想將ECMA語言翻譯成具有基本運行時(垃圾回收器)的本地代碼等。我不是在談論.NET,而只是C#的語言規範。是否有任何沒有基於.NET/CLI的C#編譯器實現?

使用C#像任何其他本地編譯語言作爲替代的langauge德爾福,d或C++,因爲它提供了泛型,擴展類型,垃圾收集和許多其他不錯的功能。作爲一種語言,它非常好。

但我不喜歡.NET我也不覺得很輕便(.NET爲PA-RISC的HP-UX的人?)。

所以彙編到C99會好得多然後編譯爲本地(這就是它非常適用於埃菲爾鐵塔)。

回答

1

Mono的框架對本地編譯,這是他們的提前(AOT)編譯調用支持。更多這裏:http://www.mono-project.com/AOT

+0

正確,但這個像巴托克不工作沒有CLI和所有這些東西。我只想要一個正在實施語言規範的人,比如Tower Java很早以前就爲Java做了這個。 – Lothar 2009-10-12 12:19:01

0

微軟的Native Image Generator (NGEN)是能夠轉換.NET程序集到本機程序的。但是,這隻意味着JIT編譯器被繞過,並且仍然需要安裝.NET Framework。

的本機映像生成器(Ngen.exe) 是一種工具,提高管理的應用程序的性能 。 Ngen.exe創建本機映像,其中 是包含已編譯的 處理器特定機器代碼的文件,而 將它們安裝到本地計算機上的本機映像 緩存中。該 運行時可以使用本機圖像從 緩存,而不是使用 剛剛在實時(JIT)編譯器來編譯 原裝配的。

也許你可以詳細說明你的.NET程序集需要本地代碼的上下文嗎?根據目的,NGEN可能已經足夠好了,儘管實際上可以消除.NET Framework依賴關係的工具可能就是您想要的。

+0

我不希望.NET程序集編譯。我只是在尋找一種語言的替代品。我更喜歡C語言,而不僅僅是這個braindead C++。但是我需要一個優化,靜態類型,命令性的垃圾收集語言和泛型,以及一個爲本語言的快速啓動實現和執行生成本機編譯的實現。我用我的黑客Eiffel編譯器完成了所有這些工作,但我擔心未來,不得不遲早將它移植到另一種(活着)的語言中。 – Lothar 2009-10-12 13:01:37

+0

@Lothar:無論如何,你似乎正在尋找編譯.NET程序集。如果可能,請澄清你的問題。 – Noldorin 2009-10-12 16:23:29

相關問題