溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#編譯過程的特點(diǎn)

發(fā)布時(shí)間:2021-08-25 18:03:26 來源:億速云 閱讀:178 作者:chen 欄目:編程語言

這篇文章主要講解了“C#編譯過程的特點(diǎn)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#編譯過程的特點(diǎn)”吧!

C#編譯過程開始前要安裝好.NET Framwork SDK環(huán)境,一般安裝了vs.net工具的 都已經(jīng)可以了,我們這里使用vs2005:在圖中 可以看到我們進(jìn)入vs2005的命令行窗體

C#編譯過程的特點(diǎn)

首先,我們用文本文件建一個(gè).cs的文件 其實(shí)在C#編譯過程中這個(gè)擴(kuò)展名是可以自己定的,另不用.cs也是可以的,建一個(gè)文件命名為:SimpleProgram.cs 輸入下面的代碼

usingSystem;  publicclassSimpleProgram  {  staticvoidMain()  {  Console.WriteLine(“Hello”);  Console.ReadLine();  }  }

保存,注意一下大小寫,然后在命令行窗口里輸入:csc SimpleProgram.cs,當(dāng)然我們要首先進(jìn)入文件所在目錄 如果編譯通過,在同一個(gè)文件夾里會出現(xiàn)一個(gè)SimpleProgram.exe,運(yùn)行 就可以看到一個(gè)控制臺程序 打印出Hello.

接著我們講編譯多個(gè)源文件

編譯多個(gè)源文件有幾種方面:1.把所有的源文件編譯成一個(gè)exe文件 2.把一些文件編譯成dll,一些編譯成exe 然后作為一個(gè)應(yīng)用程序一起使用。

先說***個(gè)方法:做兩個(gè).cs文件

Program2.cs

usingSystem  publicclassProgram2  {  staticvoidMain()  {  Personp=newPerson(“dotLive”);  Console.WriteLine(“Ourperson’  snameis“+p.Name);  }  }

Person.cs

usingSystem;  publicclassPerson  {  privatestringname;  publicPerson(strings)  {  name=s;  }  publicstringName  {  get{  returnname;  }  set {  name=value;  }  }  }

保存,命令行窗口中進(jìn)入文件目錄 輸入:csc Program2.cs Person.cs   這個(gè)時(shí)候會在目錄里生成一個(gè)exe文件,文件的名稱跟***個(gè).cs的文件名相同,如果.cs文件很多的話 還有一個(gè)簡單的寫法:csc *.cs 就可以把當(dāng)前目錄里的所有.cs文件進(jìn)行編譯。

現(xiàn)在說一下第二種方法,還是使用上面兩個(gè).cs文件

首先輸入 csc /t:library Person.cs命令 這時(shí)候會生成一個(gè)Person.dll文件,然后第二步輸入命令 csc Program2.cs /r:Person.dll 這樣就可以生成一個(gè)引用Person.dll的exe文件Program2.exe文件。

這里出現(xiàn)了兩個(gè)參數(shù) /t 和 /r

/t 是指定編譯生成dll還是exe,在***種方法中的命令csc *.cs 其實(shí)是一個(gè)簡寫,完整的寫法是csc /t:exe *.cs,由于/t:exe是默認(rèn)的選項(xiàng)可以不寫, 還要說一句 這里的exe文件都是控制臺應(yīng)用程序(其他的以后再說)

/r 的作用可以看成是引用了一個(gè)dll文件,格式可以寫成csc program.cs /r:1.dll;2.dll;3.dll

掛接多個(gè)dll,每個(gè)dll之間用分號 隔開。

接著我們再講一個(gè)參數(shù) /out 這個(gè)是給可執(zhí)行文件命名的 比如:csc /out:MyApp.exe Program2.cs Person.cs 這樣就可以生成一個(gè)叫做MyApp.exe的可執(zhí)行文件。

在C#編譯過程中如果有多個(gè).cs文件中存在Main函數(shù) 要怎么辦?

首先我們在Person.cs文件的Person類里添加一個(gè)Main函數(shù)

usingSystem;  publicclassPerson  {  privatestringname;  publicPerson(strings)  {  name=s;  }  publicstringName  {  get{  returnname;  }  set {  name=value;  }  }  //新增加一個(gè)Main函數(shù)  staticvoidMain()  {  Personp=newPerson(“dotLive2”);  Console.WriteLine(“Ourperson’  snameis“+p.Name);  }  }

這樣一來如果按照原來的方法同時(shí)將兩個(gè)文件編譯進(jìn)同一個(gè)exe時(shí),便以一定會出錯

這時(shí)候我們再引入一個(gè)新的參數(shù) /main

在我們自己決定要使用哪個(gè)cs文件里的Main函數(shù)時(shí) 可以輸入命令

csc Program2.cs Person.cs /main Program2

就是制定了以Program2里的Main函數(shù)為程序入口點(diǎn)了。

感謝各位的閱讀,以上就是“C#編譯過程的特點(diǎn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C#編譯過程的特點(diǎn)這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI