到目前为止,我已经能够使用以下代码加载 dll:
Assembly^ assembly = Assembly::LoadFrom(pathDll);
但我不知道如何检测它是 32 位还是 64 位。
最佳答案
我想我已经找到了答案。当然,首先你必须通过以下代码行获取与dll相关联的程序集:
Assembly^ assembly = Assembly::LoadFrom(pathDll);
然后可以通过以下代码获取平台信息:
ProcessorArchitecture processor_architecture = assembly->GetName()->ProcessorArchitecture;
if (ProcessorArchitecture::Amd64 == processor_architecture)
{
// 64bits
}
if (ProcessorArchitecture::X86 == processor_architecture)
{
//32 bits
}
关于c++ - 如何以编程方式检测 DLL 在 .NET 中是编译为 32 位还是 64 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36858875/