當前位置:首頁 » 編程軟體 » vs2008x64編譯支持

vs2008x64編譯支持

發布時間: 2025-10-07 21:41:55

A. 在Visual Studio下編寫64位應用程序應注意什麼

一、確定在64位操作系統上運行還是在WOW64下運行。

在Visual
Studio平台中最後對64位應用程序編譯時,需要指定這個應用程序是在64位操作系統上作為本機應用程序運行還是在WOW64環境下運行。這個
WOW64環境是一個由操作系統提供的兼容性環境。這個環境主要是讓32位應用程序也能夠在64位的操作系統上運行。換句話說,在編譯時要確定產生的應用
程序是真正的64位應用程序(只能夠在64位操作系統上運行),還是偽64位應用程序(其實是32位應用程序,只是可以藉助WOW64在64位操作系統上
運行)。

在確定這個內容的時候,有一個內容筆者要特別提醒
大家。通常情況下在64位操作系統上,所有使用NET Framework
1.1以前版本生成的應用程序都將被視作為32位應用程序,並且始終在32位公共語言運行上的WOW64環境下運行;而在2.0版本以後生成的32位特定
應用程序可以在64位平台上的WOM64環境下運行。這兩個版本之間的細微差異,各位讀者可以開發一個小程序測試一下即可。其中的內涵是只可意會、不可言
傳呀。

二、正確部署Visual Studio開發環境。

在開發64位應用程序之前,需要明白一點。到目前
為止,Visual Studio
2008仍然是一個32位的應用程序。在安裝部署時,如果是在X86的計算機上(32位操作系統),則其將安裝32位的CLR版本。而如果在64位操作系
統上安裝部署時,安裝進程將同時安裝32位的CLR版本和合適的64位CLR。注意當將其部署到64位操作系統的時候,它將在WOW64環境下運行。

此時筆者認為需要注意一個細節問題。當在
Wom64環境下運行32位應用程序時,應用程序只限於在一個處理器上執行。也就是說應用程序不能夠享受64位操作系統所帶來的性能上的提升。而單處理器
執行會降低32位應用程序在基於Itanium系統上運行時的性能和可伸縮性。為此如果對於性能要求比較高的應用程序或者有負載比較高的伺服器,盡量不要
採用兼容的方式。即32位應用程序在32位操作系統上運行,而不要在Wom64環境下運行。否則的話,不但不能夠享受64位操作系統帶來的好處,反而會降
低應用程序原有的性能,得不償失。

三、32位應用程序在64位CLR上運行可能導致意外的結果。

雖然64位操作系統提供另一個WOW64環境,使得32位應用程序能夠在64位操作系統上運行。也就是說,在大部分情況下32位應用程序可以在32位或者64位操作系統上同等的運行,其最終的結果都是相同的。但是有時候也會有意外。這些意外主要是以下原因所造成的。

如在應用程序的結構中包含一些大小隨平台而改變的成員。如指針類型的對象,其會操作操作系統位數的不同而改變。再如指針演算法中如果包含固定大小,或者不正確的平台調用與COM聲明等等,都會導致32位應用程序在64位CLR上運行出現一些意外的結果。

為此筆者特別提醒,如果開發人員設計一些兼容的應用程序時(即可以同時在32位與64位應用程序上運行),必須要注意這些因素對應用程序運行過程的影響。在開發中,要盡量避免使用這些對象,以免不必要的麻煩。

四、如何判斷某個應用程序是否適合在64位操作程序上運行。

在應用程序開發時,開發人員可能會借鑒已有的應用
程序。此時他們就需要判斷手中的應用程序能否在WOW64環境下運行。或者說,只有在特定的平台下,如32位操作系統或者64位操作系統下(而不是
WOM64)下運行。要實現這個目的的話,開發環境提供了一個Corflags的命令。簡單的說,在命令行中使用corflags.exe可以確定某個
exe或者dll是僅僅在特定平台上運行,還是只可以在WOW64環境下運行。另外在必要的情況下,程序開發人員還可以利用這個命令來更改應用程序的平台
狀態。

五、調試64位應用程序與32位應用程序之間的差異。

在開發平台中自帶有應用程序的調試工具。應用程序
調試一般包括本地調試與遠程調試。對於一些中大型的應用程序而言,遠程調試是必須的。這里需要注意,在任何情況下,如果在64位計算機上安裝遠程調試都會
同時安裝32位和64位版本的遠程調試監視器。不過在調試64位應用程序的時候,則必須要選擇正確的版本。如需要選擇「遠程調試器X64)。否則的話,調
試結果會有偏差。

下面介紹一下在64位平台上VS中會出現的編譯錯誤

模塊計算機類型「x64」與目標計算機類型「X86」沖突

一種可以解決的方法是:

1、修改目標計算機類型:項目->熟悉->連接器(Linker)->高級->目標計算機。然後把目標計算機類型改成X64。如下圖所示:

2、配置管理器:解決方案平台(默認是Win32的)->選擇配置管理器->活動解決方案平台下選擇x64。如下圖所示:

清楚一下項目 重新編譯一下 OK!

項目生成64位的應用程序

B. vs2005 64位編譯是變成編譯32位

早期在vs2008上的一個測試,希望能夠幫助你

一、win32改為x64編譯

我採用了vs2008平台,以下都是基於此平台將win32編譯改為x64編譯

這里以Debug模式為例,起初為Win32平台,要改成x64,如果有可直接選擇,否則需要新建,之後為

然後打開vs的項目->屬性->配置屬性->連接器,

在「高級」選項中,目標計算機為MachineX64(/MACHINE:X64)

在「命令行」選項中,將X86改為X64

平台選擇x64,若沒有則新建之

熱點內容
電視未找到存儲的頻道 發布:2025-10-07 22:51:50 瀏覽:56
和平精英微信密碼指的是什麼 發布:2025-10-07 22:50:08 瀏覽:936
android頂部按鈕 發布:2025-10-07 22:24:41 瀏覽:983
學編程怎麼開始 發布:2025-10-07 21:43:28 瀏覽:948
pythonshell區別 發布:2025-10-07 21:43:21 瀏覽:438
vs2008x64編譯支持 發布:2025-10-07 21:41:55 瀏覽:740
軒逸新款都有什麼配置 發布:2025-10-07 21:37:38 瀏覽:935
專題資料庫建設 發布:2025-10-07 21:32:13 瀏覽:713
自己家的電腦可以設置成伺服器嗎 發布:2025-10-07 21:21:04 瀏覽:180
傳奇腳本不能帶兩個物品 發布:2025-10-07 21:16:58 瀏覽:386