1
ryd994 2017-03-03 01:35:30 +08:00 1
难不少
首先变量名就看不出,除非编译的时候加了 debug 信息。而 pyc 基本上就是 py 的直接翻译,同时去掉注释 其次 C++编译的时候一般会优化,优化过的代码和源代码可以天差地别。 Java 编译的时候会有少量优化,但为了保证可移植性,大多数黑科技优化是留给 runtime 或者 jit 的,因为不可能在编译时就知道目标平台有哪些优化可用(指令集,硬件架构等) |
2
coderluan 2017-03-03 10:40:06 +08:00
#1 说的对,但是要点其实是 [编译型语言] 和 [解释型语言] 。
编译型语言,基本都是无法获得源码的,因为经过优化源码已经没了,只有优化过的代码, 并且他们之间的关系并不是一对一的。优化越大,难度越大。 所以 C++比 Java 难,解释型的 Python 和他们不是一个级别的。 |
3
Karblue 2017-03-03 22:15:11 +08:00
c++ 编译出来的是二进制。反汇编出来的是汇编。只能看出代码流程和大概功能。复杂。其他的都是上层有个虚拟机。可以反编译出相对完整的代码
|