日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Visual Studio编译选项简介

發(fā)布時(shí)間:2023/12/19 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Studio编译选项简介 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

一.概念介紹

????? 一般來(lái)講,能影響VS編譯結(jié)果的參數(shù)有兩個(gè):編譯優(yōu)化和目標(biāo)平臺(tái)

????? 編譯優(yōu)化

????? 首先要明白一個(gè)概念,.Net是一個(gè)二次編譯模型,所以VS編譯的結(jié)果是IL代碼。而默認(rèn)情況下VS編譯出來(lái)的IL代碼,會(huì)包括很多NOP指令(空指令),還包括許多分支指令等。VS會(huì)利用這些指令對(duì)程序調(diào)試操作提供更好的支持。而所謂的編譯優(yōu)化,就是去掉這些額外的指令,讓程序集的體積和運(yùn)行時(shí)所占的內(nèi)存更小一點(diǎn)。

????? 其它平時(shí)更常用的說(shuō)法叫Debug版與Release版。Debug版就是關(guān)閉編譯優(yōu)化的版本,Release版就是打開(kāi)編譯優(yōu)化的版本。

????? 目標(biāo)平臺(tái)

????? 現(xiàn)代操作系統(tǒng)分為32位與64位。32位操作系統(tǒng)可以運(yùn)行32位程序,64位操作系統(tǒng)可同時(shí)運(yùn)行32位與64位程序。操作系統(tǒng)通過(guò)識(shí)別程序文件的頭來(lái)判定程序的類(lèi)別。如果包括一個(gè)PE32頭,則是32位程序,如果是PE32+頭,則是64位程序。VS的目標(biāo)平臺(tái)有3個(gè)選項(xiàng),X86,X64和AnyCpu。如果選擇X86,則會(huì)在程序集的前面加上一個(gè)PE32頭,如果選擇X64則加上一個(gè)PE32+頭。而AnyCpu則有點(diǎn)特殊,它將程序集加上一個(gè)PE32頭,但是CLR會(huì)跟據(jù)運(yùn)行環(huán)境自動(dòng)調(diào)整JIT編譯器編譯出的目標(biāo)機(jī)器碼。所以如果普通的靜態(tài)分析工具分析程序集文件會(huì)發(fā)現(xiàn)它是32位程序,但是運(yùn)行時(shí)卻是64位程序。

????? 通過(guò)Visual Studio command prompt下的corflags命令則可以確定程序集的實(shí)際類(lèi)別。如果是X86編譯,PE:PE32,32BIT:1,如果是X64編譯,PE:PE32+,32BIT:0,如果是AnyCpu編譯,PE:PE32,32BIT:0。

二.在解決方案中設(shè)置編譯選項(xiàng)

????? 可以在解決方案屬性頁(yè)中對(duì)所有項(xiàng)目提供基礎(chǔ)設(shè)定。

????? 可以看到,在最上面一行有兩個(gè)參數(shù)分別對(duì)應(yīng)上文所說(shuō)的概念:配置和平臺(tái)。這里的配置就是指是Debug模式還是Release模式,選項(xiàng)第一個(gè)活動(dòng)(XXX)表示當(dāng)前的選擇。平臺(tái)則是表示X86,X64,還是部份X86部分X64混合著用,同樣選項(xiàng)里第一個(gè)活動(dòng)(XXX)表示當(dāng)前的選擇。右面的主面板里可以對(duì)每個(gè)項(xiàng)目進(jìn)行單獨(dú)與詳細(xì)的設(shè)置。

????? 這里有幾個(gè)需要注意的地方,我是經(jīng)過(guò)多次探索才得出結(jié)論的。

????? 1.可以看到,在界面上最上面一行有配置與平臺(tái)選項(xiàng),在右面主面板里每個(gè)項(xiàng)目又有自己的配置與平臺(tái)選項(xiàng)。但它們所表達(dá)的意思是不同的。真正對(duì)項(xiàng)目編譯起作用的是主面板里的設(shè)置,而最上面的設(shè)置可以把它想像成主面板相對(duì)應(yīng)設(shè)置集的一種編譯策略的名字。就如上圖所示,配置里選的是Debug,但主面板里有配置成Release模式的項(xiàng)目。舉個(gè)例子,你可以建一個(gè)名叫M的配置,M顯示在最上面的配置下拉框里,其中前三個(gè)項(xiàng)目是Debug模式,后兩個(gè)是Release模式,然后再建一個(gè)名叫N的平臺(tái),N將顯示在最上面的平臺(tái)下拉框里,其中第一個(gè)是X86,后面四個(gè)是X64模式。

????? 可以通過(guò)配置管理器按鈕來(lái)維護(hù)配置集與平臺(tái)集。

????? 2.直接通過(guò)最上面的上拉框是無(wú)法改變項(xiàng)目設(shè)置的。比如將上面的配置下拉框由活動(dòng)(Debug)改成Release,當(dāng)然你可以看到主面板里各個(gè)項(xiàng)目的設(shè)置確實(shí)都已改了。但是如果你點(diǎn)確定,然后再進(jìn)入本窗口時(shí),卻發(fā)現(xiàn)最上面的選擇仍然是先前的活動(dòng)(Debug)。這里可以選讓你誤以為直接可以更改的原因,我猜是方便給你查看的。

????? 3.更改設(shè)定會(huì)影響生成dll與exe的目錄。

平臺(tái)

模式

目錄

AnyCpu,X86

Debug

bin\Debug

Release

bin\Release

X64

Debug

bin\X64\Debug

Release

bin\X64\Release

?

三.在項(xiàng)目中設(shè)置編譯選項(xiàng)

????? 項(xiàng)目屬性頁(yè)里也可以對(duì)具體項(xiàng)目做配置與平臺(tái)的設(shè)置。

????? 可以看到,在最上面一行也有配置與平臺(tái)的下拉框。如同上面所述一樣,這里也是只能看,不能改。

????? 勾選優(yōu)化代碼等同于選擇Release模式,也可在目錄平臺(tái)下拉框更改平臺(tái)選項(xiàng)。

????? 在頁(yè)面最下面有一個(gè)高級(jí)按鈕,點(diǎn)開(kāi)后會(huì)彈出如下框

????? 這里最重要的就是調(diào)試信息了,點(diǎn)開(kāi)下拉框后顯示如下:

????? 這里只有選中full或pdb-only時(shí)才會(huì)生成pdb文件。pdb全稱(chēng)Program Database,里面保存了IL代碼與源代碼的對(duì)應(yīng)關(guān)系。只有在編譯時(shí)生成了此文件,源代碼才可調(diào)試。

四.要注意的問(wèn)題

????? 由上文可知,程序集的生成目錄是被解決方案屬性頁(yè)里的設(shè)置影響的,但實(shí)際的編譯模式卻可以被項(xiàng)目屬性頁(yè)更改。這會(huì)帶來(lái)目錄名與實(shí)際程序集類(lèi)型不一致的問(wèn)題。比如你在解決方案里設(shè)定為X64平臺(tái),但是在項(xiàng)目屬性頁(yè)里卻將其目標(biāo)平臺(tái)改為X86,結(jié)果就是在X64的目錄里生成了X86的程序集。這一點(diǎn)一定要注意。

?

http://www.cnblogs.com/ljzforever/archive/2012/11/02/2751888.html

轉(zhuǎn)載于:https://www.cnblogs.com/vivianlou/p/3853600.html

總結(jié)

以上是生活随笔為你收集整理的Visual Studio编译选项简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一级在线播放 | a级片在线免费观看 | 国语毛片 | 欧美1区2区 | 97caop| 色撸撸在线 | 国产白浆在线观看 | 五月天综合色 | √天堂在线 | 久久久一二三区 | 久久国产在线视频 | 在线日韩视频 | 欧美日批视频 | 91精品久久久久久久久久入口 | 亚州成人| 可以看av的网站 | 精品一区二区在线播放 | 国产毛片毛片毛片毛片毛片毛片 | 色婷婷狠狠操 | 日本美女动态 | 久久精品国产精品亚洲 | 国产激情精品一区二区三区 | 操操操操操操操操操操 | 91资源在线播放 | 久久国内免费视频 | 亚洲一区a| 97香蕉久久超级碰碰高清版 | 无码久久精品国产亚洲av影片 | 亚洲综合小说网 | 69人妻一区二区三区 | 欧美夫妻性生活视频 | 日韩欧美国产综合 | 欧美色图17p | 国产女18毛片多18精品 | 中文字幕视频二区 | a级黄色小视频 | 亚洲琪琪 | 色噜噜影院 | 免费在线播放视频 | 日韩精品人妻中文字幕 | 无人在线观看的免费高清视频 | 日韩黄色精品 | 校园春色综合网 | 日本少妇18p | 涩涩视频在线观看 | 成人av久久| 殴美一级黄色片 | 日本aⅴ视频 | 九九夜 | 亚洲欧美综合一区二区 | 亚洲美女视频一区 | 亚洲视频图片小说 | 在线欧美日韩国产 | 91精品国产91综合久久蜜臀 | 国产精品亚洲一区二区 | 污网站免费观看 | 免费久久久久久 | 99国产在线视频 | 免费成人美女在线观看. | 催眠调教后宫乱淫校园 | 草草福利影院 | 在线天堂6 | 欧美性教育视频 | 理论片大全免费理伦片 | 男女爱爱动态图 | 女生扒开腿让男生操 | 丰满岳乱妇国产精品一区 | 国产精品久久久久久久久久东京 | h片在线观看网站 | 别揉我奶头一区二区三区 | 亚洲第一福利视频 | 网站在线播放 | 夜夜干夜夜 | 国产精品毛片久久久久久 | 在线aa| 性高跟丝袜xxxxhd | 国产精品亚洲一区 | 91蝌蚪网 | 对白刺激国产子与伦 | www.97色 | 91中文在线观看 | 欧美有码在线 | 国产草逼视频 | 岛国大片在线免费观看 | 免费网站在线观看黄色 | 91免费版黄 | 97夜夜操| 日韩精品视频一区二区三区 | 六月激情综合 | 欧美a图| 日日操网站 | 麻豆精品国产精华精华液好用吗 | 无码人妻精品一区二区三区99不卡 | 91av在线免费视频 | 青青草原综合网 | 欧美韩日国产 | 影音先锋亚洲天堂 | 高清无码一区二区在线观看吞精 | 韩国一区二区三区在线观看 |