1. 在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位的應用程序
2. 剛用visualstudio2013寫了小程序,但是在XP系統下不能運行,原因是什麼 謝謝
除了VB鏈接後的 exe文件外,根據項目的不同,可能還需要其它VB環境的支持。最好程序完成後,作一個安裝包。
如果不願意作安裝包,可直接把 程序的 EXE 文件 復制到 XP 中,直接運行,程序提示缺 少哪個 文件,就從開發程序的電腦中找到對應文件復制到與 EXE 文件 相同的目錄中,再試,直到程序能正常運行。希望對你有所幫助!
3. 我用visual studio code開發微信小程序,為什麼wxss裡面的代碼是白色的
因為
visual studio code
不識別這樣的文件擴展名啊!
建議還是用微信開發者工具吧.
4. 怎樣用visual studio2010編寫加法運算小程序
打開visual studio2010編程軟體,並新建一個窗體應用程序。
窗體應用程序新建完畢就開始針對程序進行編輯了,我們先把窗體程序的名稱修改了,讓應用軟體的人知道是什麼程序。
把程序的名稱修改好了就開始針對程序進行必要的元素添加,我這里教的是簡單地程序,所以需要的元素也簡單,輸入框和按鈕即可。
做好這些就開始寫代碼了,雙擊按鈕即可開始代碼的編寫,但是你要清楚每個輸入框的name屬性,這樣才能完成程序的編寫哦。
最後你就可以運行這個程序了,你就會覺得這很簡單的
5. C語言 用Visual Studio2010編一個小程序 要求必須輸入3位數字 如果不是3位數字則提示格式不正確並重新輸入
#include <stdio.h>
#include <memory.h>
#include <string.h>
#include <ctype.h>
/*代碼遵循C89標准*/
int main()
{
char szData[256];
int i = 0, count = 0;
while(1)
{
/*將字元數組設置為0*/
memset(szData, 0, sizeof szData);
/*從屏幕獲取輸入*/
printf("請輸入3位數字:");
scanf("%s", szData);
i = 0;
count = strlen(szData);
if(count == 3){
/*逐個判斷是否是數字*/
for(i = 0; i < count; i++){
if(!isdigit(szData[i])){
break;
}
}
}
if(i != 3){
printf("輸入的\"%s\"不是有效的3位數字字元串,重新輸入\n", szData);
}
else{
break; /*本次輸入成功,退出循環*/
}
}
printf("輸入成功,輸入的數字字元串是: %s\n", szData);
getchar();
getchar();
return 0;
}
6. Visual Studio用C#語言寫的Windows應用程序如何發布
一般的小程序來,把exe和涉及的dll和其源他文件直接復制到裝有.net framework的機器就可以運行了,相對還是算「綠色」的。如果涉及部分具體安裝配置的例如寫入注冊表信息,就可以用安裝製作軟體打包,vs也有個集成的發布向導也是可以做到的