当前位置:  开发笔记 > 编程语言 > 正文

方法名称是否编译到EXE中?

如何解决《方法名称是否编译到EXE中?》经验,为你挑选了1个好方法。

将Windows应用程序项目编译为EXE后,类,方法和变量名称是否包含在MSIL中

对于混淆 - 更少的名称,更难逆向工程.

而对于性能 - 更短的名称,更快的访问.

例如,如果通过名称调用方法:

保持名称简短,更好的命名查找性能.

保持名称神秘,反编译更难.

Jon Skeet.. 20

是的,他们在IL - 启动反射器,你会看到它们.如果他们没有最终进入IL,你就无法将它们作为库来构建.(是的,您可以引用.exe文件,就好像它们是类库一样.)

但是,这一切都在JIT中解决了一次.

保持名称可读,以便您将来能够维护代码.性能问题不太可能产生任何可衡量的差异,如果你想混淆你的代码,不要在源代码级别(你是那个读代码的那个)做它 - 用专门的方法来做混淆.

编辑:至于包括什么 - 为什么不启动Reflector或ildasm并找出?从内存中,您丢失了本地变量名称(如果您构建它,它们位于pdb文件中),但这就是它.私有方法名称和私有变量名称仍然存在.



1> Jon Skeet..:

是的,他们在IL - 启动反射器,你会看到它们.如果他们没有最终进入IL,你就无法将它们作为库来构建.(是的,您可以引用.exe文件,就好像它们是类库一样.)

但是,这一切都在JIT中解决了一次.

保持名称可读,以便您将来能够维护代码.性能问题不太可能产生任何可衡量的差异,如果你想混淆你的代码,不要在源代码级别(你是那个读代码的那个)做它 - 用专门的方法来做混淆.

编辑:至于包括什么 - 为什么不启动Reflector或ildasm并找出?从内存中,您丢失了本地变量名称(如果您构建它,它们位于pdb文件中),但这就是它.私有方法名称和私有变量名称仍然存在.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有