VC2010 中使用條件編譯判斷是32位還是64位編譯模式
在VC2010中通過platform選擇32位還是64位編譯時,可以通過下面的條件編譯指令來判斷:
// 32位編譯
#ifdef _M_IX86
#pragma comment(lib,"QDPay_mt.lib")
#endif // _M_IX86
// 64位編譯
#ifdef _M_X64
#pragma comment(lib,"QDPay_mt64.lib")
#endif // _M_X64
參見MSDN:https://msdn.microsoft.com/en-us/library/b0084kay.aspx
相關的預定義巨集:
_M_IX86 : 32bit處理器
_M_AMD64 : 64bit AMD處理器 (VC2008以前)
_M_X64 : 64bit AMD and Intel處理器(VC2008及以後),
_M_IX64 : 64bit Itanium處理器
_WIN32 : Defined for both 32bit and 64bit processor
_WIN64 : Defined for 64bit processor
相關推薦
VC2010 中使用條件編譯判斷是32位還是64位編譯模式
在VC2010中通過platform選擇32位還是64位編譯時,可以通過下面的條件編譯指令來判斷: // 32位編譯 #ifdef _M_IX86 #pragma comment(lib,"QDPay_mt.lib") #endif // _M_IX86 // 64位編譯
判斷SDK中的DLL位數(32位還是64位)
1.用文字文件開啟DLL,開啟後是一堆亂碼 2.鍵盤敲下“Ctrl+F”,輸入“PE”,區分大小寫 3.找到PE後,他的後面如果是 L => 32 位 &nb
關於VS中區分debug與release,32位與64位編譯的巨集定義
在vs程式設計中,常常涉及到32位和64位程式的編譯,怎麼判斷當前編譯是32位編譯還是64位編譯?如何判斷 是debug下編譯還是release下編譯?因為之前用到,這裡記錄一下,省的忘了又要瘋狂的google。 1.判斷是debug編譯還是release編譯。 如
關於程式碼中區分debug與release、32位與64位、xp還是win7編譯的巨集定義
在寫程式碼的過程中,我們經常需要考慮這樣的一些問題:有一部分程式碼片段只有在32位編譯環境下編譯才能通過,在64位編譯環境下是無法編譯通過的,那麼怎樣才能判斷當前編譯環境是32位編譯還是64位編譯?還有,如何判斷當前編譯是debug編譯還是release編譯?再者,有些AP
Makefile中判斷是32位還是64位
例如 g++ -fPIC -g -I SafeNet/include -DUNIX -DARCH=64 -std=c++0x -c -o NetSafe.o NetSafe.cpp 中有對OS架構的依賴,可以改成這樣: ARCH = $(shell getconf LO
判斷Hadoop是32位還是64位
hadoophadoop官網本來提供的都是32位,因為我們大部分都是64位,所以不得不編譯。後來官網從hadoop2.5版本開始就提供了64位。進入$hadoop_home/lib/native,使用file命令:file libhadoop.so.1.0.0libhadoop.so.1.0.0: ELF 3
c#判斷操作系統是32位還是64位
ping interop 64位 lin last 直接 run 遇到 roc 做一個c#項目時,遇到要獲取操作系統位數的問題,在網上找了幾個小時,都沒有找到比較完整的解決方案。話不多說,直接上可以運行的代碼(簡單、粗暴) using System.Runtime.Con
如何判斷Linux是32位還是64位
link ica rip long gnu x86 inux get conf 方法一:getconf LONG_BIT 在linux終端輸入getconf LONG_BIT命令 如果是32位機器,則結果為32 [root@localhost ~]# getcon
golang判斷平臺是32位還是64位
在看go語言聖經時, 文中提到可以利用下面的表示式獲取系統是32位還是64位的. bit := 32 << (^uint(0) >> 63) 開始看到這式子, 感覺很奇怪, 後面自己找了些資料, 搞明白了. 首先是^uint(0), uint型別並不
vs+msys2+yasm 編譯libx264+ffmpeg詳細解釋(32位或64位)
下載msys2 下載yasm 安裝libx264 gcc 編譯libx264 (.a .dll) msvc編譯libx264(.lib .dll)
Qt5.9.7 for ARM的編譯安裝(32位和64位)
Qt5.9.7 for ARM的編譯安裝 下載原始碼 前往http://download.qt.io/official_releases/qt/5.9/5.9.7/single/下載最新版的原始碼(我這裡下載的是當時最新的5.9.7)qt-everywhere-o
32位/64位系統,jdk32位,64位,32/64位jdk編譯出來的class和eclipse 32位和64位
首先關於32位/64位系統,jdk32位,64位,32/64位jdk編譯出來的class和eclipse 32位和64位的一些對應關係做些說明。 1.32位作業系統不可以裝64位jdk,64位作業系統一般都可以安裝32位jdk,64位jdk是完美髮揮效能的。 2.64位eclipse只能在6
window10 vs2015下分別編譯libevent 32位和64位庫
Windows10 VS2015下分別編譯libevent 32位和64位庫 Libevnt 在Windows10 VS2015下分別編譯32位和64位庫 直接上王道libevent程式碼地址: https://github.com/libevent/libeve
判斷Linux系統是32位還是64位
方法1: 執行以下命令: --------------------------- $ getconf LONG_BIT --------------------------- 如果輸出32即為32位系
Android系統判斷CPU是32位還是64位
public static final String CPU_ARCHITECTURE_TYPE_32 = "32"; public static final String CPU_ARCHITECTURE_TYPE_64 = "64"; /** ELF檔案頭 e_indent[]陣
關於如何判斷dll是32位或64位的重大誤區
.net平臺支援的有32位、64位以及Any CPU三種編譯模式,這三種編譯模式會導致呼叫該dll時的相容問題。已知的可正常執行的組合有:①32位/64位/Any CPU模式的App呼叫Any CPU模式的dll檔案,除了64位App不能在32位系統執行以外,均可②32位Ap
如何判斷linux是32位還是64位?
方法一:getconf LONG_BIT 如果是32b則輸出32,64b則輸出64 [root@centos fation]# getconf LONG_BIT 32 方法二:uname -a
C#判斷作業系統是32位還是64位的方法
publicstaticstring Distinguish64or32System() {try {string addressWidth = String.Empty; ConnectionOptions mConnOption =new
bat批處理判斷系統32位或64位以及作業系統型別
@echo off for /f "tokens=1* delims=[" %%a in ('ver') do set b=%%b set b=%b:* =% goto %b:~0,4%%PROCESSOR_ARCHITECTURE:~-1% :5.1.6 echo xp_32位 goto:eof :6.1.
判斷程式自身是執行32位還是64位
// 在做驅動和應用層通訊時,兩個程式必須都是32位或者64位的。(可能32位和64位的驅動可以通訊,未了解。)// 但是64位下可以執行32位的程式,導致與驅動的通訊失敗,於是乾脆就加了個判斷自身是否是32位還是64位。bool IsApp64() { int nNum