相关疑难解决方法(0)

如何确定编译可执行文件的平台?

我需要使用为x86,x64和IA64制作的Windows可执行文件.我想通过检查文件本身以编程方式找出平台.

我的目标语言是PowerShell,但C#示例可以.如果您知道所需的逻辑很好,那么其中任何一个都会失败.

c# powershell cpu-architecture

50
推荐指数
5
解决办法
3万
查看次数

检查非托管DLL是32位还是64位?

如何在C#中以编程方式告诉非托管 DLL文件是x86还是x64?

c# dll 64-bit 32-bit

43
推荐指数
3
解决办法
3万
查看次数

如何检测给定的PE文件(exe或dll)是64位还是32位

我需要检测给定的.dll或.exe文件是32位还是64位

目前我只有一个解决方案:从指定文件中读取PE标头并从那里取出"机器"字段.

(规范:Microsoft可移植可执行文件和通用目标文件格式规范(.docx文件),参见"3.3.COFF文件头(对象和图像)"部分)

此字段最多可包含约20个值.其中三个是:

IMAGE_FILE_MACHINE_I386  ( == 32bit )

IMAGE_FILE_MACHINE_IA64  ( == 64bit )

IMAGE_FILE_MACHINE_AMD64 ( == 64bit )
Run Code Online (Sandbox Code Playgroud)

我的问题:

1)"机器"的位图映射是正确的还是我错过了什么?还有其他警告吗?

2)是否有更简单的方法来检测32/64位数(可能是PE格式的某些特定字段我没有注意到或某些特殊的系统功能)?

c++ 64-bit x86 winapi

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

64-bit ×2

c# ×2

32-bit ×1

c++ ×1

cpu-architecture ×1

dll ×1

powershell ×1

winapi ×1

x86 ×1