32位系統編譯64位程序
❶ 如何在32位系統上運行64位軟體
1、通過安裝虛擬機(VM等工具),在32位系統上虛擬運行64位系統,在虛擬的64位系統中運行64位軟體。
2、直接安裝64位系統(多系統或單64位系統),通常64位系統能良好運行大多數的32位軟體,兼容性故障很少。
❷ 32位系統如何運行64位軟體
最常見的方法是升級系統為64位,或者是安裝虛擬機(VM等工具),在32位系統上虛擬運行64位系統,在虛擬的64位系統中運行64位軟體。
❸ windows 32位的程序調用64位的程序嗎
工作流程:
1.創建一個進程外COM伺服器(EXE)。
2.將32位dll的介面函數封裝為COM伺服器的相關介面。
3.注冊COM伺服器*.exe /regserver (注銷 *.exe /unregserver)。
4.64位進程調用32位COM伺服器介面,成功。從而曲線實現了64位進程調用32位dll。
具體步驟:
我首先創建了一個簡單的dll工程,只輸出一個函數int c = add(int a,int b); 生成lib和dll
然後創建一個進程外COM(EXE類型),內部鏈接dll,添加方法Method: Add(long *c)
{ *c = add(1,2);}編譯生成。
然後注冊COM,*.exe /regserver
最創建一個64位WIN32工程驗證64位環境下方法調用是否正確,經驗證正確!!!
結論:以上方法可以解決64位進程調用32位dll的問題
32位進程調用64位dll應該也可以通過這種方法解決,原因64位windows系統下安裝了32位和64位兩套COM系統
❹ 如何編譯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,編譯生成即可。
❺ 如何讓32位系統運行64位程序
win7 64位為32位程序提供了兼容模式,以保障多數32位程序可正常運行,設置方法如下: 1、在該程序快捷方式上右擊,點擊屬性; 2、點擊兼容性選項卡,點擊勾選以兼容模式運行這個程序; 3、從組合框選擇合適的操作系統,最後點擊確定即可。
❻ 如何強制一個使用32lib的32位程序編譯成64位
編譯64位程序,不一定要編譯機器是64位的,但是32位機器默認安裝的gcc編譯環境還是不能用來編譯64位程序。編譯64位程序,需要加上-m64編譯器參數,默認安裝的gcc已經支持該參數,但是缺少64位機器指令相關的文件,所以不能編譯,會出現下面的錯誤 In file included from /usr/include/features.h:378, from /usr/include/assert.h:37, from ../../../include/tinyxml/tinystr.h:42, from ../../../src/tinyxml/tinystr.cpp:32: /usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: 沒有那個文件或目錄這時候需要安裝 gcc所有支持文件 sudo apt-get install gcc-multilib 將會安裝下列額外的軟體包: cpp-4.4 g++-4.4 gcc-4.4 gcc-4.4-base gcc-4.4-multilib lib64gcc1 lib64gomp1 libc6-amd64 libc6-dev-amd64 libgcc1 libgomp1 libstdc++6 libstdc++6-4.4-dev 建議安裝的軟體包: gcc-4.4-locales g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg libmudflap0-4.4-dev libgcc1-dbg libgomp1-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7 lib64mudflap0 libstdc++6-4.4-doc 下列【新】軟體包將被安裝: gcc-4.4-multilib gcc-multilib lib64gcc1 lib64gomp1 libc6-amd64 libc6-dev-amd64下列軟體包將被升級:
❼ 32位系統編譯的程序能在64位下運行嗎
在32位的系統不能運行64位的程序,在64位的系統上可以運行32位的程序。
在32位下開發編譯和在64位下開發編譯是沒有區別的,重點在於生成的時候的選項,生成什麼平台軟體。是X86還是X64還是anycpu
❽ 32位編譯器可以編64位程序嗎
VS不可以,不提供交叉編譯器
gcc可以
但是需要自行編譯(至少我不知道是否有人提供),把host設為i686-w64-mingw32
target設為x86_64-w64-mingw32 !
❾ 如何在32位系統上運行64位軟體
如果直接在32位系統是無法直接運行64位的軟體的,要想在32位系統上運行64位軟體,需要先在32位系統上安裝虛擬機,然後,再在虛擬機安裝64位系統,再在64位系統下安裝運行64位軟體就可以了。
❿ 32位系統怎麼才能運行64位程序
(1)無需特別操作,windows7 64位系統直接兼容32位軟體,直接雙擊運行即可。
(2)windows xp64位是後期補的,第一個普及的家用64位系統是win7 x64,這是2009年發布的操作系統,經過微軟長達6年的打磨,已經對32位程序有很好的兼容性了,在win7 64位系統里運行32位程序不需要特別的操作,直接運行即可。
(3)如果直接運行後,出現兼容性問題,應該不是64位和32位程序的問題,而是win xp 和win7兩代操作系統之間的差異,比如許可權系統的不同,可以嘗試調整「兼容性」選項,調整方法如下:
① 滑鼠右鍵單擊:直接運行時有兼容性問題的程序,在彈出的右鍵菜單中點擊「屬性」。如下圖:
② 如下圖,切換到「兼容性」選項卡,在「以兼容模式運行這個程序」前面的復選框里「√」:
③ 展開下拉菜單,選擇兼容運行的系統版本,下圖是「windows10」的項目,已經沒有xp兼容模式了,windows7里還有xp兼容模式,可以嘗試選擇「Windows XP」,最後點擊下方的「確認」,設置完畢。調整設置後再雙擊運行該程序,就可以以兼容模式運行程序了: