wustguangh |分类标签:C/C++ 2015-07-09

C++如何判断一个程序是32位还是64位

Ctrl+Enter直接提交

回答(2)

wustguangh 19级 2015-07-09 15:41:13

如果你只有这个exe文件,那么你就读PE,读取IMAGE_OPTIONAL_HEADER,判断它的成员Magic
在winnt.h中是这样定义的
#define IMAGE_NT_OPTIONAL_HDR32_MAGIC      0x10b
#define IMAGE_NT_OPTIONAL_HDR64_MAGIC      0x20b

wustguangh 19级 2015-07-09 15:33:34

纯代码内部当然可以判别32位还是64位,只要:
sizeof( (int*) )
直接判断指针(地址)的内容长度即可
看返回了是4还是8,是4就是32bit,是8就是64bit。

相关知识

相关文章更多