當前位置:首頁 » 編程軟體 » vbc編譯器版本

vbc編譯器版本

發布時間: 2022-06-28 02:28:38

『壹』 VBC VB是什麼意思

VB就是微軟的Visual Basic ,Visual Basic 是一種可視化的、面向對象和採用事件驅動方式的結構化高級程序設計語言,可用於開發 Windows 環境下的各類應用程序。 Visual Studio 簡稱VS 比VB要好用(VB是很早就出了了,現在VS好使) 我現在就用著VS2008,功能很強大 VBC是編譯vb的命令行,命令行編譯器. 其實這些你從網路上就能搜到

『貳』 一文搞清到底什麼是 NET

其實幾句話就能搞清楚.net。
我們知道我們使用C#/VB寫的代碼是源碼,如果這個源碼你寫在記事本中也是一樣的。
然後使用csc.exe/vbc.exe把你的源碼編譯。生成的文件就是IL文件(可能為dll或exe後綴的)。
事實上,我們如果在記事本寫是一樣的,這個記事本叫編輯器,你需要一句句地把代碼寫出來。如果我們記事本象notepad+一樣能帶一個高亮語法的標識多好?當然了,如果能有自動補全更好(一個關鍵詞或聲明的變數之類的,打出幾個字母就提示出來,我們可以提高輸入速度的,錄入速度與打字速度這里有區別了,很多程序員以為自己輸入速度很高,進而以為自己的打字速度很高,其實不是我經常說程序打字速度並不快不需要機械鍵盤就是因為這個,並不是說輸入速度低),這些功能都加上,就是VS(vs其實是一個IDE,開發集成工具,而編輯器就是其中一個,智能感智——自動補全功能加強版,高亮顯示等都是編輯器的插件被集成進來),而模板(自動給你增加using代碼與部分文件名稱等等)則是把常用的一些句子先給你輸入好,等等集合起來,就把編輯這部分完成了。
當然了,你安裝完之後會看到類似於csc.exe與vbc.exe這類的編譯器的,它可以把你的源碼(文本)編譯成IL語言。不幸的是csc/vbc的參數太多了,輸出輸入選項等等,誰也記不住啊,所以根據文本組織,自動生成一個csc參數使用的命令多好?嗯,想法不錯的,這就是VS中另一個功能,他所謂有的編譯F6等等都是按你的項目組織自動生成一條編譯指令來調用編譯器(csc編譯c#的,vbc編譯vb的),VS不但可以自已選擇合適的編譯器(根據後綴名),而且對於項目中某個參數,自動調用csc.
好了,怎麼把源碼變成IL呢?這里要用到一個東西,我們叫.net framework,不要把framework理解成模板,不要以為你選擇.net framework版本之後可以選擇不同的模板,其實它才是把源碼變成IL的標准——模板不同是因為針對於不同的語法糖進行不同的翻譯。比如一個例子using語句塊其實就是try-finally塊,不同的framework中使用不同的類庫與語法糖。換句話來說,開發中所增加的都是使用基本類庫與語法糖的增加。
比如.net framework 4.5中存在一個運算符,(?.)運算,它就會在.net framework 4.5時會映射到正確的IL語言。而在.net framework 4.0中卻不會認識該運算符。當然了 vari?.Attribute1與.net framework 4.0中vari==null?null:vari.Attribute1的結果是一樣的。雖然.net framework 4.5比4.0增加了不少的東西,它其實只是方便了你寫的源碼,IL指令並沒有任何的增加!
所以呢每當.net framework版本增加時,其實只變化了一些我們編碼時的語法或語法糖而已!並附帶送給我們幾個模板或新開發幾個模板而已。比如MVC/web api等等模板。
說完了生成,現在再說一下IL是怎麼運行的,IL其實並不能直接運行,我們需要一個標准把IL再"映射「成可運行的二進制(機器語言),源碼」映射「成IL使用的是.net framework,而IL映射成二進制需要的是.net,不同的是我們把源碼」映射「IL叫編譯,使用的是.net framework,也叫編譯態,而IL映射成二進制並運行,這個叫運行態。所以我們稱兩個的區別一個叫開發環境,一個叫運行環境。如果按照正常的理解,其實我們一個用的是.net framework 4.X,運行時我們安裝的dotnet4f,是運行環境。
運行環境的虛擬機就是為了把IL映射成二進制(Native Image),而且我們會保存起來,當然了,下次使用相同的IL時,直接使用Native Image中已保存的,不再執行翻譯了,這個就是運行時的機制。
大多數時間很多人把開發環境與運行環境弄混了,為什麼呢?因為我們開發時避免不了要測試及運行,所以開發環境包含了運行環境(你安裝.net framework時同時會安裝運行環境),而不需要開發的人員比如如使用windows 10中已經安裝了部分的.net 運行環境支持,所以他們也不需要了解這個東西。只在在出現類似.net framework 4.0在vista版本中運行時,就需要給vista非開發機安裝.net framework運行版本。否則不需要。所以很多人把開發環境與運行環境混在一起理解了。
事實上,.net framework 2.0/3.5開發的軟體,生成了IL標准都是2.0的,所以我們只需要2.0的運行環境。而.net 4.0及4.x.y都使用的是.net 4.0的運行環境。
說白了,.net有開發版本,而framework相當於編譯時使用的標准。而IL的標准則是MSIL,也叫是我們常說的CLS,而把運行態叫CLR(公共語言運行時)是虛擬機要執行的標准。
所以,其概況非常簡單,.net支持多種語言,多種語言都是可以生成IL依賴於不同的編譯器,比如csc/vbc等。可以讓不同的語言開發者在同平台下工作。而IL(中間語言)再由虛擬機在不同的機器上翻譯成不同的機器語言,保證了其移植性。包括現在支持的linux新標准也是如此方式。跨平台則使用是native image方式。
分清這兩個步驟,那麼.net就沒有什麼神密的了。
告訴你幾個事實,有助於理解問題。
C#生成的IL可以被反射成VB語法!當然反向也可以!Red gate的reflector已被MS收購。可以試試的,原來的ILDism已被基本放棄了!它是早期做為VS的插件工具出現的。當然ILSpy也是不錯的,那隻是一個反射工具而已。請細想為什麼C#生成的IL可以反射成VB語言(反射的准確度與各家軟體的功能有一定的關系)00
.net framework 4.0的生成的IL可以被反射成4.7.2的語法!想想這是為什麼?如果你運行環境與編譯環境搞混的話,假定IL中也有4.7.2的運行環境,那麼怎麼可能版本之間相互反射?但是,.net 2.0生成的IL反射成.net 4.0會存在問題,.net 4.0生成的IL反射成2.0會會現很多錯誤!其實.net 4.0並不包含.net 2.0的語法集,所以這兩個運行版本並不兼容,反射軟體只會把相同的部分反射出來,不同的部分就難以反映了!.net 2.0反射4.0的結果要好點,這是因歸功於.net framework為了降低學習成本,有一定的連續性,但是這種連續性在高版中部分.開發使用的C#語法被放棄(放棄與清除是不同的,放棄還能反射出來,清除的卻無法再反射了)。
搞清這些就能搞清楚.net的兩段三步(兩段開發段/運行段,三步,源碼語法(C#/VB),IL語法(MSIL), 二進制(可運行的機器語言))。

『叄』 如何:在命令提示符處進行編譯求解答

使用.NET Framework SDK 提供的 Visual C# 和 Visual Basic 編譯器。本主題介紹如何使用批處理文件針對 .NET Compact Framework 程序集而非 .NET Framework 全功能版(桌面)程序集在命令提示符處進行編譯。可以直接使用批處理文件或從 make 文件實用工具調用批處理文件來使 .NET Compact Framework 集成到企業生成系統。使用MSBuild 進行編譯使用MSBuild 在命令提示符處進行編譯在命令提示處,定位到 .NET Compact Framework 應用程序的項目文件所在的目錄。項目文件具有 .sln、.vbproj 或 .csproj 擴展名。 鍵入msbuild.exe,後面跟隨項目文件。「命令提示符」窗口將提供有關生成過程的信息。 用於命令提示符編譯的批處理文件下表描述了命令提示符編譯所需的文件、命令和參數。 要求 說明.NET Compact Framework 程序集默認位於 C:\Program Files\Microsoft.NET\SDK\v2.0\CompactFramework\WindowsCE 文件夾中。您可以在批處理文件或 make 文件中指定該路徑,或者使用「我的電腦」屬性對話框將其指定為一個環境變數。系統路徑變數包括 .NET Framework SDKVisual Basic 編譯器 (vbc.exe) 和 Visual C# 編譯器 (csc.exe) 位於 %systemroot%\Microsoft.NET\Framework\<version 2.0> 文件夾中。系統路徑變數必須包括此路徑。-r根據需要引用程序集。您可以通過設置環境變數來指定程序集,如 REF。默認情況下會引用大多數 .NET Compact Framework 程序集。請注意,C# 需要顯式引用 Mscorlib.dll,Visual Basic 使用 -sdkpath 開關來定位此文件。-importsVisual Basic 需為以下命名空間進行顯式導入:Microsoft.VisualBasicSystem.System.DataSystem.DrawingSystem.Windows.Forms-nostdlb指示Visual C# 編譯器忽略 .NET Framework 全功能版(桌面)的程序集。-netcf指示Visual Basic 編譯器忽略 .NET Framework 全功能版(桌面)的程序集。-noconfig必選。-sdkpath需要Visual Basic 來定位 Mscorlib.dll。批處理文件需要以下信息:.NET Compact Framework 程序集位置的路徑變數。這些示例使用 NETCF_PATH。根據需要使用 -r 開關引用程序集(串聯成一個變數)。帶有所需開關和參數的編譯器命令。這些參數包括變數引用、用於合並其他參數的星號 (*) 和輸入到命令提示以運行批處理文件的源文件的名稱。創建編譯用的批處理文件在文本編輯器中創建一個新文件,然後針對您的首選編程語言添加示例批處理文件的內容,如下面的示例所示。如有必要,調整 NETCF_PATH 變數。保存並命名該文件,例如,可以將 Visual Basic 批處理文件命名為 vbcc.bat,將 C# 批處理文件命名為 cscc.bat。使用批處理文件編譯應用程序在命令提示符下輸入該批處理文件的名稱,然後輸入源文件,如下面的示例所示:vbcc myapp.vb可復制到設備或模擬程序的可執行文件將在當前目錄中生成。用於C# 編譯的批處理文件下面是一個用於 C# 編譯的示例批處理文件。 @echo off if "%NETCF_PATH%" == "" ( set NETCF_PATH=c:\Program Files\Microsoft.NET\SDK\v2.0\CompactFramework\WindowsCE) if not "%REF%" == "" goto compile set REF=%REF% "/r:%NETCF_PATH%\MsCorlib.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Data.dll" set REF=%REF% "/r:%NETCF_PATH%\System.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Drawing.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Messaging.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Net.IrDA.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Web.Services.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.DataGrid.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.dll" set REF=%REF% "/r:%NETCF_PATH%\Microsoft.WindowsCE.Forms.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Xml.dll" :compile csc -nostdlib -noconfig %REF% %* 用於Visual Basic 編譯的批處理文件下面是一個用於 Visual Basic 編譯的示例批處理文件。 @echo off if "%NETCF_PATH%" == "" ( set NETCF_PATH=c:\Program Files\Microsoft.NET\SDK\v2.0\CompactFramework\WindowsCE) if not "%REF%" == "" goto compile set REF=%REF% "/r:%NETCF_PATH%\System.Data.dll" set REF=%REF% "/r:%NETCF_PATH%\System.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Drawing.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Messaging.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Net.IrDA.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Web.Services.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.DataGrid.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Windows.Forms.dll" set REF=%REF% "/r:%NETCF_PATH%\Microsoft.WindowsCE.Forms.dll" set REF=%REF% "/r:%NETCF_PATH%\System.Xml.dll" set REF=%REF% "/r:%NETCF_PATH%\Microsoft.VisualBasic.dll" set IMP= /Imports:Microsoft.VisualBasic,System,System.Data set IMP=%IMP% ,System.Drawing,System.Windows.Forms :compile vbc -sdkpath:%NETCF_PATH% -noconfig -netcf %IMP% %REF% %* 請參見其他資源生成應用程序和核心任務

『肆』 VBC模擬器1.8版本能聯機么需要什麼工具么

VBC?用VBA不更好一點,VBA還可以模擬GB或者GBC的游戲。VBA的1.8是可以聯機的,VBC應該也是可以的吧,工具就不用了,直接開兩個模擬器,然後運行游戲,進行聯機。

『伍』 使用vbc編譯命令,如何保留注釋

這個 注釋 會被無情的刪掉!其實編譯後的DLL 還是 什麼exe 內部都沒有注釋
但在,它們的注釋在 核dll 名字相同 的 .pdb 中!
你把 xxxx.pdb 一起考過去試試,
引用dll 然後 dll 會在你項目的目錄出現 然後 把XXXX.pdb 考過去!

不行? 不會了!

熱點內容
c語言需要什麼基礎 發布:2024-05-06 13:46:10 瀏覽:687
python利器 發布:2024-05-06 13:33:56 瀏覽:731
ts代碼編譯成umd 發布:2024-05-06 13:13:38 瀏覽:724
糧庫存儲糧種類 發布:2024-05-06 13:11:26 瀏覽:52
一般網路的dns伺服器是什麼 發布:2024-05-06 13:02:43 瀏覽:153
壓縮模具設計 發布:2024-05-06 13:02:04 瀏覽:562
逍遙模擬器如何配置網路 發布:2024-05-06 12:21:38 瀏覽:983
伺服器如何檢測硬體地址 發布:2024-05-06 12:12:35 瀏覽:739
伺服器在線訪問數由什麼決定 發布:2024-05-06 11:39:15 瀏覽:678
途觀21款哪個配置值得買 發布:2024-05-06 11:29:00 瀏覽:92