在Linux上執行C 的方法

2022-09-26 07:57:10 字數 2064 閱讀 3249

在任何乙個平台(作業系統+硬體體系)上,編寫和執行程式的三個最根本的需求是庫、編譯器/直譯器、執行環境。庫以類和方法(函式)的形式提供常用的例程,簡化大型程式的編寫。.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。

www.cppcns.com命令列應用

先從mono主頁(**軟體,執行下面的命令安裝所有rpm:

複製** **如下:

rpm -ivh *.rpm

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

複製** **如下:

class hellomono }

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

複製** **如下:

mcs hellomono.cs

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

複製** **如下:

mono hellomono.exe

linux控制台上將顯示出"hello mono"。關於mcs和mono的更多說明,請程式設計客棧執行man mcs或man mono參考其man文件。

gui應用

mono不支援windows forms,但在c#程式設計中可用gtk #編寫gui。gtk #是gtk+圖形庫的c#支援工具,可從**。**完成後,先要安裝rpm:

複製** **如下:

rpm -uvh *.rpm --nodeps

解開gtk-sharp-0.2.1.tar.gz:

複製** **如下:

tar -zxvf gtk-sharp-0.2.1.tar.gz

進入子目錄gtk-sharp-0.2.1,執行:

複製** 代程式設計客棧碼如下:

./configure --prefix=/usr

make

make install

完成這一步驟之後,重新啟動一次。與gtk#有關的所有動態**模組(gtk-sharp.dll、atk-sharp.dll、gdk-sharp.dll、glib-sharp.dll以及pango-sharp.dll)都會被複製到/usr/lib目錄,編譯用gtk#製作gui的c#程式時,必須通過-r引數引用它們。gtk#**包中包含了幾個示例程式,如helloworld.cs、menu.cs、buttonapp.cs等。編譯這些檔案的命令如下:

複製** **如下:

mcs -r gtk-sharp -r glib-sharp helloworld.cs

mcs -r gtk-sharp -r glib-sharp -r system.drawing menu.cs

mcs -r gtk-sharp -r glib-sharp -r system.drawing buttonapp.cs

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

複製** **如下:

mono helloworld.exe

mono menu.exe

mono buttonapp.exe

在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軟體包包含了...