當前位置:首頁 » 編程軟體 » mfc32位編譯64位

mfc32位編譯64位

發布時間: 2022-03-03 02:32:17

❶ MFC OpenGL程序,32位平台能編譯,64位平台編譯不通過

你還是用的32的lib 所以出現鏈接錯誤

❷ visual c++ 分32位系統和64位系統么

Microsoft Visual C++,(簡稱Visual C++、MSVC、VC++或VC)是Microsoft公司推出的開發Win32環境程序,面向對象的可視化集成編程系統。它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設計集成交互操作、可開發多種程序等優點,而且通過簡單的設置就可使其生成的程序框架支持資料庫介面、OLE2,WinSock網路、3D控制界面。

Microsoft Visual C++ 1.0
集成了MFC2.0,是Visual C++第一代版本,1992年推出,可同時支援16位處理器與32位處理器版,是Microsoft C/C++ 7.0的更新版本。
Microsoft Visual C++ 1.5
集成了MFC2.5,增加了「目標文件鏈接嵌入 (OLE)2.0 和支持MFC的開放式資料庫鏈接(ODBC)。這個版本只有16位的,也是第一個以CD-ROM為軟體載體的版本。這個版本也沒有所謂「標准版」。它是最後一個支持16位軟體編程的軟體,也是第一個支持基於x86機器的32位編程軟體。
Microsoft Visual C++ 2.0
集成了MFC 3.0,第一個只發行32位的版本。這個版本提前發行了,幾乎成了一個「丟失的版本」。這是因為那個時候Windows 95(開發代碼為"Chicago")還沒有發行,而Windows NT又只佔有很小的市場份額。該版本用戶可以通過微軟公司的訂閱服務(Microsoft Subscription Service)升級至2.1和2.2版本。微軟公司在這個版本中集成並升級了Visual C++1.5,作為2.0版本(Visual C++ 1.5升級後版本號:1.51)以及2.1版本(Visual C++1.5升級後版本號:1.52)的一部分。Visual C++ 2.x附帶了16位和32位版本的CDK,同時支持Win32s的開發。Visual C++ 2.2及其後續版本不再升級Visual C++ 1.5(盡管它一直被集成至Visual C++ 4.x)。盡管出生的比Windows 95早,這個版本的發行日期還是非常接近Windows 95,可是當Windows 95發行時, Visual C++ 4.0也已經發行了。因此很多程序開發者直接從1.x過渡到4.0,把2.x跳過去了。
Microsoft Visual C++ 4.0
集成了MFC4.0,這個版本是專門為Windows 95以及Windows NT設計的。用戶可以通過微軟公司的訂閱服務(MicrosoftSubscription Service)升級至4.1和4.2版本(此版本不再支持Win32s開發)。
Microsoft Visual C++ 5.0
集成了MFC 4.21,是4.2版以來比較大的一次升級。
Microsoft Visual C++ 6.0
集成了MFC6.0,於1998發行。發行至今一直被廣泛地用於大大小小的項目開發。但是,這個版本在WindowsXP下運行會出現問題,尤其是在調試模式的情況下(例如:靜態變數的值並不會顯示)。 這個調試問題可以通過打一個叫「Visual C++ 6.0Processor Pack」的補丁來解決。奇怪的是,這個網頁強調用戶也必須運行Windows 98、Windows NT4.0、或Windows 2000。這個C++版本對win7的兼容性非常差,有大大小小的兼容性問題。微軟不推薦安裝在windows7上。
MicrosoftVisual C++ .NET 2002
也即Visual C++ 7.0,於2002年發行,集成了MFC7.0,支持鏈接時代碼生成和調試執行時檢查。這個版本還集成了Managed Extension for C++,以及一個全新的用戶界面(與Visual Basic和Visual C#共用)。從這個版本開始,所有的API形式上都被定義成位數無關的,並且開始支持原生64位軟體的開發。
MicrosoftVisual C++ .NET 2003
也即 Visual C++ 7.1,集成了MFC 7.1,於2003年發行,是對Visual C++ .NET 2002的一次重大升級。
MicrosofteMbedded Visual C++
用於Windows CE操作系統。Visual C++作為一個獨立的開發環境被Microsoft Visual Studio 2005所替代。
MicrosoftVisual C++ 2005
也即Visual C++ 8.0,集成了MFC 8.0,於2005年11月發布。這個版本引進了對C++/CLI語言和OpenMP的支持。
MicrosoftVisual C++ 2008
也即Visual C++ 9.0,於2007年11月發布。這個版本支持.NET 3.5。從這個版本開始,微軟放棄了對編寫Win9x架構系統上的軟體的支持。此版本更加穩定。VC++2008是目前最穩定版本。
MicrosoftVisual C++ 2010
Visual C++ 10.0,2009年發布,新添加了對C++11標准引入的幾個新特性的支持。
MicrosoftVisual C++ 2012
Visual C++ 11.0, 2012年5月26日發布,支持.net4.5 beta,並實現go live。只能安裝於win7或者更高的windows操作系統(如最新發布的windows8等)。可以開發windows8專用的Modern UI風格的應用程序。相比2010又添加了少量對C++11標准引入的新特性的支持。
MicrosoftVisual C++ 2013
Visual C++ 12.0, 2013年8月發布,可以看作是Visual C++ 11.0的升級版。這個版本相對於2012添加了大量對C++11標準的支持。可以開發windows8.1專用的Modern UI風格的應用程序(但卻不支持windows8,支持windows8.1)。開發環境亦內置了源代碼染色的功能。
最新穩定版本(亦適用於2013)
Visual C++ 被整合在Visual Studio之中,但仍可單獨安裝使用。
參考資料:網路

❸ MFC問題:在一個程序中有64位、32位和8位三種異或,這樣在程序中出現了數據類型的轉換問題,求指導怎麼解決

具體一些描述啊。
如果8位的需要和64位的進行異或運算,最好是定義一個INT64 cls8=0x00000f;用它先位與8位,然後直接全部使用64位運算,這樣比較安全。但異或同或運算。。貌似會有問題,必須嚴格位運算,因為補0會有不同的結果。

❹ VC6.0開發的32位MFC DLL 怎麼轉成64位的程序

要求:
Microsoft Platform SDK 2001 年 11 月版或更高版本
Visual C++ 6.0
使用 Visual C++ 6.0 IDE 生成 64 位應用程序:
設置 64 位內部版本環境變數:
通過雙擊SDK文件夾下面的Setup.Exe安裝Microsoft Platform SDK 到硬碟任意目錄後,安裝程序會在開始菜單中生成Microsoft Platform SDK的快捷方式。單擊「start->All Programs->Microsoft Platform SDK for Windows Sever 2003 SP1->Open Build Environment Window->Set Windows XP 64 Build Environment->Set Windows XP 64 Build Environment (Debug) 此時將顯示一個控制台窗口,其中帶有為 64 位內部版本設置的內部版本環境。
從64位內部版本環境啟動Visual C++6.0:
啟動Microsoft Platform SDK後,直接在命令行輸入msdev/useenv,此時將顯示 Visual C++ 6.0 IDE,其中已經為 64 位內部版本環境設置了 include、library 和 executable 目錄。
注意 如果 Msdev.exe 不在路徑中,請將文件夾更改到 \Microsoft Visual Studio\Common\Msdev98\Bin 文件夾,然後運行 Msdev.exe。
Visual C++啟動成功後,可以通過菜單Tools->Options->Directories查看Include files和Library file的默認路徑應為Microsoft Platform SDK文件夾下的include和lib文件夾。
添加 64 位調試配置:
1. 在 Visual C++ IDE 中,打開現有的 32 位項目(例如,MyApplication)。
2. 在「Build」菜單上,單擊「Configurations」。
3. 在「Configurations」對話框中,單擊「add」。
4. 在「Add Project Configuration」對話框中,將「Configuration」設置為 Debug64,然後在「Copy settings from」列表中單擊「MyApplication– Win32 Debug」。
5. 要添加配置,單擊「OK」,然後單擊「Close」。
將活動配置設置為 64 位:
1. 在「Build」菜單上,單擊「Set Active Configuration」。
2. 單擊「MyApplication- Win32 Debug64」,然後單擊「OK」。
修改編譯器或鏈接器選項:
一些 Visual C++ 6.0 編譯器或鏈接器選項不適用於 64 位編譯器或鏈接器。要修改這些選項,請執行下列步驟:
1. 在「Project」菜單上,單擊「settings」。
2. 在「project settings」對話框中,單擊「General」選項卡。在「output directories」下,在「Intermediate files」框和「output files」框中鍵入 Debug64。
3. 在「C/C++」選項卡上,在「Debug info」列表中選擇「Program Database(編譯器選項,/Zi)」。在Project Options中去掉/GZ,加入/Wp64。
4. 在「Link」選項卡上,在「Project Options」框中將 /machine:I386 更改為 /machine:AMD64。在Object/library moles中加入bufferoverflowu.lib。
5. 在「View」菜單上,單擊「Workspace」。
6. 要從項目中刪除 MyApplication.hpj 文件,請在「Workspace」窗口中單擊「MyApplication.hpj」文件,然後按 Delete 鍵。注意 此文件可能已經刪除。
生成64位程序:
此時所有配置均已更改完畢,可直接通過F7或build菜單進行編譯連接獲得所需要的可執行程序或lib文件。
註:在32位機上只能編譯連接生成64位程序,而不能進行調試。要調試64位程序必須在64位機上通過專用的調試工具WinDbg(可在微軟網站免費下載)進行調試。

❺ mfc 32位程序中,64位整數與字元串怎麼相互轉換

簡單寫了個程序,若滿意請及時採納,謝謝
int main()
{
char st[]="9223372036854775808"; //字元串轉64
unsigned __int64 ui64;
sscanf(st,"%I64u",&ui64);
printf("%I64u\n",ui64);

char ss[35]; //64轉字元串
sprintf(ss,"%I64u",ui64) ;
printf("%s\n",ss);
return 0;
}

❻ mfc 判斷目標 程序 多少位 32 64

你可以參考微軟的代碼呀;方法是判斷當前進程是否運行在WOW64下,
首先你的程序要按x86方式去編譯鏈接,得到的就是32位的程序了,32位程序要運行在64位系統下時,需要WOW64子系統的支持,所以用這個特性就可以判斷出當前系統是不是64位了;如果IsWow64返回TRUE,那就表示當前程序運行在WOW64下,就是說當前系統是64位的

#include <windows.h>

typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);

LPFN_ISWOW64PROCESS
fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
GetMoleHandle("kernel32"),"IsWow64Process");

BOOL IsWow64()
{
BOOL bIsWow64 = FALSE;

if (NULL != fnIsWow64Process)
{
if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
{
// handle error
}
}
return bIsWow64;
}

❼ 小弟的電腦是64位的,請問編MFC的win32和win64時,指針的大小一樣么 謝謝。

指針非法訪問,你試試用靜態鏈接的方式,編譯你的dll,然後再發給其他電腦驗證。動態鏈接編譯的話,需要其他電腦也要有MFC的支持庫。

❽ win32代碼怎麼在64位機器上運行 mfc

沒有太懂您的意思,您是指用mfc編寫的win32程序怎麼在64位win下運行嗎?

我對winxp64不了解,win7x64會自動識別出PE32文件,WOW64子系統會創建出32位環境

❾ 32位機上用vs2008開發的c++程序如何能在64位系統下運行

正常來說和在32位系統上運行不會有區別。

絕大多數32位Windows程序都是可以在64位Windows上運行的(VS本身也是一個32位的軟體)。64位Windows會通過WOW64模擬32位程序的運行環境來運行32位程序(就像32位Windows通過WOW模擬16位運行環境來運行16位程序一樣)。這里對於程序來說唯一一個顯著區別就是32位Windows上32位程序默認只有2GB的用戶地址空間,最多能設置成3GB。而WOW64里運行的32位程序可以使用4GB地址空間。但是絕大多數程序並不會因為這個區別產生異常。

不過和32位Windows上一樣,運行VC++編寫的32位程序可能會需要32位的C運行庫的dll。也就是可能要裝那個Microsoft Visual C++ 2008 Redistributable Package (x86)才能正常工作。

另外VS2008可以直接生成64位的可執行程序。也就是這個程序在本機沒辦法用,只有在64位系統里可以跑。當然默認情況下跑程序的那個系統上要有64位的C運行庫的dll。

❿ 編寫的mfc程序在win7(32位和64位)下可運行,在xp下卻提示不是有效的win32程序

XP32位不認識64位的程序

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:619
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:347
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:62
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:288
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:781
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:334
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:197
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:791
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:350
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:578