我不知道如何编译我的代码,如果我在代码中使用#if
指令。 我想创建我的应用程序(商业演示版)的特殊版本,我想限制我的应用程序的功能。我宁愿避免混淆,只是不想将所有编译的代码添加到可执行文件。我需要解决方案抵制在反汇编过程中预览我的代码。我可以使用#if
指令的变种编译而不是使禁用部分代码注释?如何C#编译的#if预处理指令代码?
1
A
回答
6
使用#if指令就像在C++中使用预处理器一样,如果条件未满足(在编译时间内),代码将不会存在。从MSDN:
当C#编译器遇到的#if 指令,最终接着是
#endif
指令时,它将只编译如果 指定的符号被定义的指令之间的代码。与C和C++不同,不能将 数值指定给符号; C#中的#if 语句是布尔值,并且只有 测试符号是否已被定义为 。
2
作为@ ohadsc回答的补充:您总是可以使用Reflector来检查编译器实际生成的内容。
相关问题
- 1. 如何编译已经用C预处理的C代码?
- 2. 我如何编译C#代码的IL代码指令
- 3. 针对C/C++代码的预处理指令#ifndef
- 4. C++预处理指令
- 5. C#预处理器指令
- 6. 将预处理器指令缩进为emacs中的C代码
- 7. IL代码中的C#预处理器指令
- 8. 处理在Mac上编译C++代码
- 9. 如何将代码块用作c预处理器指令的参数?
- 10. 预处理指令导入基于对C#中的预处理指令平台
- 11. RIM编译器支持的预处理器指令
- 12. Lex规则的C预处理指令
- 13. C预处理指令(SQR-的Funktion)
- 14. Objective-C的预处理指令发出
- 15. 多行C预处理指令的宏
- 16. C预处理器与C编译器
- 17. 如何让C预处理器在编译期间执行代码?
- 18. 如何将C预处理程序仅应用于某些(#if/#endif)指令?
- 19. objective-c预处理器指令
- 20. C#预处理器指令范围
- 21. C++预处理指令限制
- 22. 如何编译c/cpp代码,以便在linux中编译后提供预处理汇编和对象文件?
- 23. 如何向由预处理的T4模板生成的C#代码添加一个编译指示
- 24. VS C++编译器应该如何处理这段代码?
- 25. C#编译器:预处理只有
- 26. C++“编译器”与预处理
- 27. C预处理指令,条件编译方法用方括号调用
- 28. 带有预处理器指令的C++类世代
- 29. 如何在整个编译过程中遵循预处理器指令
- 30. 如何使用枚举值直接编译预处理器指令
我假设你的意思是“预处理器”而不是“预编译”。的#if在C++中的预处理器仅仅意味着文本的块被传递给真实的编译器,如果条件没有得到满足,即编译器不连看到里面的#if的代码,如果该条件未被满足之前以文本编辑了。 – 2010-10-17 08:40:06
你是对的,谢谢 – 2010-10-17 08:40:55