vc664位編譯
❶ vc6.0程序怎樣編譯成64位
Microsoft Platform SDK 2001年 11 月版或更高版本x0dx0aVisualC++ 6.0x0dx0a步驟一:安裝最新適合xp的SDKx0dx0a通過雙擊SDK文件夾下面的Setup.Exe安裝Microsoft Platform SDK到硬碟任意目錄後,安裝程序會在開始菜單中生成Microsoft Platform SDK的快捷方式。單擊"start->AllPrograms->Microsoft Platform SDK for Windows Sever 2003 SP1->Open BuildEnvironment Window->Set Windows XP 64 Build Environment->Set Windows XP64 Build Environment (Debug) 此時將顯示一個控制台窗口,其中帶有為 64 位內部版本設置的內部版本環境。x0dx0ax0dx0a步驟二:從64位內部版本環境啟動Visual C++6.0:x0dx0a啟動MicrosoftPlatform SDK後,直接在命令行輸入msdev/useenv,此時將顯示 Visual C++ 6.0 IDE,其中已經為 64 位內部版本環境設置了 include、library和executable 目錄。 (如果Msdev.exe不在路徑中,請將文件夾更改到 \Microsoft Visual Studio\Common\Msdev98\Bin文件夾,然後運行 msdev/useenv)x0dx0aVisual C++啟動成功後,可以通過菜單Tools->Options->Directories查看Include files和Library file的默認路徑應為Microsoft Platform SDK文件夾下的include和lib文件夾,此時為打開正確的64位虛擬編譯環境。否則需重啟打開。x0dx0ax0dx0a步驟三:添加 64位調試配置:x0dx0a♦在 Visual C++ IDE中,打開現有的 32 位項目(例如,MyApplication)。x0dx0a♦在"Build"菜單上,單擊"Configurations"。x0dx0a♦在"Configurations"對話框中,單擊"add"。x0dx0a♦在"Add Project Configuration"對話框中,將"Configuration"設置為 Debug64,單擊"OK",然後單擊"Close"。x0dx0ax0dx0a步驟四:將活動配置設置為 64位: x0dx0a♦在"Build"菜單上,單擊"Set Active Configuration"。x0dx0a♦單擊"MyApplication- Win32 Debug64",然後單擊"OK"。x0dx0a x0dx0a步驟五:修改編譯器或鏈接器選項:x0dx0a♦在"Project"菜單上,單擊"settings"。x0dx0a♦在"project settings"對話框中,單擊"General"選項卡。在"outputdirectories"下,在"Intermediate files"框和"output files"框中鍵入 Debug64。x0dx0ax0dx0a♦在"C/C++"選項卡上,在"Debug info"列表中選擇"ProgramDatabase(編譯器選項,/Zi)"。在Project Options中去掉/GZ,加入/Wp64。x0dx0ax0dx0a♦在"Link"選項卡上,在"Project Options"框中將 /machine:I386更改為/machine:AMD64。在Object/librarymoles中加入bufferoverflowu.lib,如果不加bufferoverflowu.lib,鏈接時會報錯。x0dx0ax0dx0a♦在"View"菜單上,單擊"Workspace"。 要從項目中刪除MyApplication.hpj 文件。x0dx0a x0dx0a♦生成64位程序:x0dx0a註:在32位機上只能編譯連接生成64位程序,而不能進行調試。x0dx0ax0dx0a
❷ 如何編譯64位dll程序,有幾種情況,在32位XP上用VC++6.0或者VS2010該怎麼編譯64位的dll。
在64位的操作系統上用vs軟體編譯的dll默認就是64位。
在32位XP上用VC++6.0編譯64位的dll,需要安裝sdk(最新版本是sdk2003),在開始菜單——sdk——open build environment window——windows server 2003 64-bit build environment——set win svr 2003 x64 build env進入命令行,從命令行調用msdev,將vc選項里的include和lib的第一個默認路徑設為sdk目錄下64位頭文件和庫的路徑,編譯出的dll似乎就是64位的了。這個是從網頁上看到的,沒實踐過。
在32位XP上使用vs2010就簡單多了,新建一個項目(解決方案),加入代碼,設置X64,編譯生成即可。
❸ 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之中,但仍可單獨安裝使用。
參考資料:網路
❹ vc6 64位環境下編譯使用ActiveX錯誤
題主是否想詢問「vc664位環境下編譯使用ActiveX錯誤是怎麼回事」?是因為使用的電腦上沒有這個控制項的注冊信息。若想使用ActiveX,
1、需要先下載ActiveX的ocx文件。
2、之後就在C://WINDOWS//system64下將此OCX文件放入。
3、然後在電腦中點擊開始,運行里輸入regsvr64ActiveX.ocx。
4、會彈出一個對話框提示注冊成功。
5、再重新進行編譯即可。
❺ C語言如何編譯出64位的可執行文件
可以用dev-cpp 編譯器(64位的版本),可以選擇輸出32或者64位的可執行文件。
❻ 怎樣讓vc++6.0生成64位的動態鏈接庫
1.靜態鏈接庫與動態鏈接庫區別:靜態鏈接庫:lib中的指令被直接包含在最終生成的EXE文件中。動態鏈接庫:dll不必被包含在最終的EXE中,EXE文件執行時可以動態地引用和卸載DLL文件。同時,靜態鏈接庫中不能再包含其他的動態鏈接庫或靜態庫,而動態鏈接庫中可以包含其他的動態或靜態庫。2.VC++支持的DLL:DLL的編制與具體的編程語言及編譯器無關,動態鏈接庫隨處可見,VC++支持三種DLL:非MFC動態庫、MFC規則DLL和MFC擴展DLL。DLL導出函數(或變數、類)可供應用程序調用;DLL內部函數只能在DLL程序內使用,應用程序無法調用它們。3.導出函數的聲明方式:一種在函數聲明類型和函數名之間加上「_declspec(dllexport)」。另外一種採用模塊定義(.def)文件聲明,需要在庫工程中添加模塊文件,格式如下:LIBRARY 庫工程名稱EXPORTS 導出函數名4.DLL的調用方式:一種靜態調用,由編譯系統完成對DLL的載入和應用程序結束時DLL的卸載。另外一種動態調用,由編程者用API函數載入和卸載DLL(DLL載入—DLL函數地址獲取—DLL釋放)方式。5.所有庫工程編譯時必須Release方式:Build—set active configuration—選擇庫工程的release方式6.示例:一、 函數----創建動態鏈接庫(MFC規則DLL)1. New--projects--MFC AppWizard(dll)--Regular DLL using shared MFC DLL //取名為MFC_dll2. def文件中添加:函數名(Add_new)3. h文件中添加:外部函數聲明//求和函數,函數名為Add_newextern "C" __declspec(dllexport) int __stdcall Add_new(int a,int b);4. cpp文件中添加: 外部函數實現extern "C" __declspec(dllexport) int __stdcall Add_new(int a,int b){return a+b;}5. build--set active configuration--win32 release--ok6. 生成7. 根目錄下release文件夾中dll,lib與根目錄下h文件即為所需二、 函數----調用動態鏈接庫(把MFC_dll.dll和MFC_dll.lib拷到工程所在目錄)//靜態調用(.h可以寫到.cpp文件中)1. new--projects--win32 console application--an empty project2. 添加h文件:(test.h)#pragma comment(lib,"MFC_dll.lib") //告訴編譯器DLL相對應的lib文件所在路徑和文件名extern "C" _declspec(dllimport) int _stdcall Add_new(int a,int b);//聲明導入函數3. 添加cpp文件:(main.cpp)#include "test.h"int main(){cout<<Add_new(10,3);return 0;}//動態調用#include <stdio.h>#include <windows.h>typedef int (* lpAddFun)(int ,int);//定義一個與Add_new函數接受參數類型和返回值均相同的函數指針類型int main(){HINSTANCE hDll;//句柄lpAddFun addFun;//函數指針hDll=LoadLibrary("dllTest.dll");//動態載入DLL模塊句柄if(hDll){addFun=(lpAddFun) GetProcAddress(hDll,"Add_new");//得到所載入DLL模塊中函數的地址if(addFun){int result=addFun(2,3);printf("%d",result); } FreeLibrary(hDll);//釋放已經載入的DLL模塊}return 0;}三、 變數----創建動態鏈接庫(非MFC DLL)1. new---projects---win32 dynamic-link library----an empty project(Sample)2. 添加sample.h#ifndef SAMPLE_H#define SAMPLE_Hextern int dllGlobalVar;#endif3. 添加 sample.cpp#include "sample.h"#include <windows.h>int dllGlobalVar;bool APIENTRY DllMain(HANDLE hMole,DWORD ul_reason_for_call,LPVOID lpReserved)//windows在載入DLL時,需要一個入口函數,就如同控制台或DOS程序需要main函數、win32程序需要winmain函數一樣。所以引入一個不做任何操作的預設DllMain的函數版本。是DLL的內部函數。