c++ 判断一个exe或者dll文件是32位还是64位
时间: 2024-02-26 17:57:02 浏览: 247
在C++中,可以使用Windows API函数`GetBinaryType`来判断一个exe或者dll文件是32位还是64位。具体实现如下:
```c++
#include <Windows.h>
#include <iostream>
int main()
{
const char* file_path = "example.exe"; // 文件路径
DWORD binary_type = 0;
if (GetBinaryType(file_path, &binary_type))
{
if (binary_type == SCS_32BIT_BINARY)
{
std::cout << "This is a 32-bit binary." << std::endl;
}
else if (binary_type == SCS_64BIT_BINARY)
{
std::cout << "This is a 64-bit binary." << std::endl;
}
else
{
std::cout << "Unknown binary type." << std::endl;
}
}
else
{
std::cout << "Failed to get binary type." << std::endl;
}
return 0;
}
```
其中,`GetBinaryType`函数的第一个参数为文件路径,第二个参数为指向`DWORD`类型的变量的指针,用于存储二进制文件类型。如果函数调用成功,则`binary_type`的值可能为`SCS_32BIT_BINARY`或`SCS_64BIT_BINARY`,分别代表32位和64位二进制文件类型。
阅读全文