在Linux上執行C

2022-09-16 22:36:29 字數 1192 閱讀 2106

在任何乙個平台(作業系統+硬體體系)上,編寫和執行程式的三個最根本的需求是庫、編譯器/直譯器、執行環境。庫以類和方法(函式)的形式提供常用的例程,簡化大型程式的編寫。.net框架也不例外,包含了許多類庫。另外,把程式轉換成可執行形式以及執行執行檔案時,編譯器和執行環境是必不可少的。mono軟體包包含了.net類庫的一部分、乙個c#編譯器和.net執行環境clr(common language runtime,公共語言執行時環境)。

mono聲稱支援linux、solaris、free bsd和ms windows;除了intel x86系列的cpu(486,各類pentium等)之外,據說還要支援sparc、powerpc和strongarm處理器。

下面就來看看如何在linux上執行mono。

命令列應用

rpm -ivh *.rpm

安裝完成後,所有基本的動態執行庫,包括system.data.dll、system.dll、system.drawing.dll、system.web.dll和system.xml.dll都被複製到/usr/lib下。接下來,在linux文字編輯器中輸入下面的內容,把檔案儲存為hellomono.cs:

執行下面的命令編譯c#檔案:

mcs hellomono.cs

mcs是mono的c#命令列編譯器。與ms .net sdk的csc編譯器相似,mcs也有很多命令列選項。上面的命令將生成可執行檔案hellomono.exe。注意這個執行檔案不是linux執行檔案,而是乙個.net執行檔案,或者說,這個檔案的可執行**形式是中間語言(il,intermediate language)。要執行這個執行檔案,必須執行如下命令:

gui應用

下面來看看如何通過-r選項引用前面各個.dll動態模組。執行startx命令啟動x window,進入終端視窗,再進入示例程式所在目錄,執行下面的命令分別執行各個程式:

考慮乙個典型的伺服器/客戶機式.net應用:終端使用者只與客戶端打交道,客戶端最好是方便的gui應用,許多人還會希望使用熟悉的windows平台。但是,對於他們來說,伺服器端使用windows還是linux完全無關。所以,伺服器端可以用帶有mono的linux構造,節省了配備專用windows伺服器的投資。mono也將為應用遷移帶來方便。如果mono能夠順利發展,windows開發者也將能夠為linux或其他非windows平台開發應用。如果這樣的話,不久之後出現乙個類似visual studio .net但免費或廉價的linux開發ide也說不定。

在Linux上執行C

眾所周知,c 是microsoft推出的.net語言,只能在.net平台上執行,例如win 9x me nt 2000 xp和win ce之類的作業系統。但是,現在卻有了乙個叫做mono的專案,它的目標就是把.net及其程式語言移植到非windows的平台上。現在,c 是唯一被移植到非windows...

在Linux上執行C

眾所周知,c 是microsoft推出的.net語言,只能在.net平台上執行,例如win 9x me nt 2000 xp和win ce之類的作業系統。但是,現在卻有了乙個叫做mono的專案,它的目標就是把.net及其程式語言移植到非windows的平台上。現在,c 是唯一被移植到非windows...

在Linux上執行C 的方法

在任何乙個平台 作業系統 硬體體系 上,編寫和執行程式的三個最根本的需求是庫 編譯器 直譯器 執行環境。庫以類和方法 函式 的形式提供常用的例程,簡化大型程式的編寫。net框架也不例外,包含了許多類庫。另外,把程式轉換成可執行形式以及執行執行檔案時,編譯器和執行環境是必不可少的。mono軟體包包含了...