我在理解FEATURE_PAL编译器指令在.NET 4.0源代码中意味着什么问题。它几乎用于访问非托管代码的每个类中。什么是FEATURE_PAL编译器指令在.net 4源代码中的含义
9
A
回答
9
PAL =平台适配层。首先是CLR的细节,将其与操作系统实现隔离开来。您确实会看到它在.NET 4类的源代码的参考源副本中使用。它出现在任何强烈依赖底层操作系统实现的代码中,绕过了这些代码,因为它不能在Windows以外的操作系统上工作。
2
您可能熟悉使用DEBUG和RELEASE指令来包装特定于测试/生产代码的代码块。
.NET 4.0框架使用FEATURE_PAL编译器指令在新平台上执行代码。它必须通过调用本机dll中找到的本机方法来适应该平台。因此,该功能的名称为:“平台适配层”。
我在查看Process类的代码后发现了这篇文章。人们可以想象,在特定的平台上杀死一个进程的工作是不同的。
想象你的代码运行在使用ARM处理器的设备上安装的Windows的较新版本上。在杀死一个进程时,你需要调用一个适合该平台的原生dll的方法。
因此,编译此类平台的框架时,FEATURE_PAL编译器指令被设置为“条件编译符号”。
相关问题
- 1. MSIL源代码编译器驻留在.NET Framework中的位置是什么?
- 2. 什么是保护.net源代码免受反编译
- 3. rspec源代码中的以下代码含义是什么?
- 4. 非法指令4在Docker-compose上的含义是什么?
- 5. Cocoa中的@package编译器指令是什么?
- 6. 代码含义是什么?
- 7. “NEARDATA”在NetHack源代码中的含义是什么?
- 8. $$('foo')在JavaScript源代码中的含义是什么?
- 9. {$ C PRELOAD}指令的含义是什么?
- 10. 编译后代码中的'()'是什么?
- 11. NSURLErrorDomain中代码的含义是什么?
- 12. “int 0x2A”在汇编代码中的含义是什么
- 13. %c在GCC内联汇编代码中的含义是什么?
- 14. clang在Coliru中编译此代码段,但不在编译器资源管理器中编译。为什么?
- 15. JUnit源代码中Proctectable接口的含义是什么?
- 16. 在ubuntu中编译/编译源代码
- 17. SML编译器源代码?
- 18. 绑定到Delphi XE4编译器的条件编译器指令是什么?
- 19. 什么是bnez MIPS指令的编码?
- 20. WRT在Mac上编译源代码,什么是ldd?
- 21. 这些ARM汇编指令的含义是什么?
- 22. 是什么_GNU_,_attribute_和编译扩展和指令
- 23. Roslyn是否包含编译器源代码?
- 24. azure-sdk-for-net:编译源代码
- 25. 这行代码的含义是什么?
- 26. 以下代码的含义是什么?
- 27. 这段代码的含义是什么?
- 28. 在IBM Jikes中编译的指令是什么
- 29. .Net Assemblies将编译器转换为C#的反编译器源代码
- 30. 什么是指令集编码?
嗯...... .NET 4.0的源代码?你的意思是,像标题? – BoltClock