vs項目屬性中目標平臺x86,x64,any cpu的區別

一、Any CPU平臺下

 

編譯出來的exe(可執行文件)或dll(動態鏈接庫)是兼容的,取決於當前的操作系統,若操作系統是32位的,則編譯出來的程序會以32位的軟件模式運行,而在64位操作系統下則會以64位的軟件模式運行。

 

 

二、x86平臺下

 

強制生成的軟件爲32位軟件,不管操作系統是32位還是64位都是以32位模式運行。

 

 

三、x64平臺下

 

與x86類似,強制生成爲64位軟件,只能在64位模式運行。

 

 

五、x86、x64、Any CPU選擇的注意事項

 

1、若主程序的文件是x86平臺下編譯的,而它所依賴的一個項目(或動態鏈接庫)是由x64位平臺編譯出來的,則會提示“未能加載文件或程序集…或它的某一個依賴性。試圖加載格式不正確的程序。”之類的錯誤。這是因爲32位程序不能加載64位的dll,更不能調用其中的類、方法和對象等。

 

2、若主程序是由x64平臺編譯出來的,而它所依賴的一個項目(或動態鏈接庫)是由x86位平臺編譯出來的呢?也會報錯!

 

3、若dll由Any CPU編譯的,那麼這個dll就可以被32位和64位的主程序調用

 

 

文章轉載自:vs項目屬性中目標平臺x86,x64,any cpu的區別  http://www.studyofnet.com/news/1263.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章