2011-07-18 34 views

回答

9

PAL =平台适配层。首先是CLR的细节,将其与操作系统实现隔离开来。您确实会看到它在.NET 4类的源代码的参考源副本中使用。它出现在任何强烈依赖底层操作系统实现的代码中,绕过了这些代码,因为它不能在Windows以外的操作系统上工作。

2

您可能熟悉使用DEBUG和RELEASE指令来包装特定于测试/生产代码的代码块。

.NET 4.0框架使用FEATURE_PAL编译器指令在新平台上执行代码。它必须通过调用本机dll中找到的本机方法来适应该平台。因此,该功能的名称为:“平台适配层”。

我在查看Process类的代码后发现了这篇文章。人们可以想象,在特定的平台上杀死一个进程的工作是不同的。

想象你的代码运行在使用ARM处理器的设备上安装的Windows的较新版本上。在杀死一个进程时,你需要调用一个适合该平台的原生dll的方法。

因此,编译此类平台的框架时,FEATURE_PAL编译器指令被设置为“条件编译符号”。

相关问题