gpt4 book ai didi

decompiling - 程序员应该使用反编译器吗?

转载 作者:行者123 更新时间:2023-12-01 15:41:47 27 4
gpt4 key购买 nike

最近听到我一直在听 Jeff Atwood 和 Joel Spolsky 的广播节目,他们一直在谈论 dogfooding(重用您自己的代码的过程,请参阅 Jeff Atwood 的博客 post)。所以我的问题是程序员是否应该使用反编译器来查看程序员的代码是如何实现和工作的,以确保它不会破坏你的代码。或者你应该相信程序员的代码并适应它,因为使用反编译器违背了我们作为程序员所了解的关于隐藏数据的一切(至少是面向对象的程序员)?

注意:我不确定这会属于哪些标签,所以请随时重新标记它。

编辑:只是为了澄清我在最后的手段上询问反编译器,说由于某种原因你无法获得源代码。对不起,我应该在原始问题中提供这个。

最佳答案

是的,使用反编译器的输出可能很有用,但不适用于您的建议。编译器的输出看起来永远不像人类写的那样(除非它确实写了)。它不能告诉你为什么代码会这样做,或者特定变量应该意味着什么。除非您已经拥有源代码,否则这样做不太可能值得。

如果您确实有源代码,那么在您的开发过程中使用反编译器有很多充分的理由。

大多数情况下,使用反编译器输出的原因是为了更好地优化代码。有时,使用高优化设置,编译器会出错。在某些情况下,如果不比较不同优化级别的编译器输出,这几乎是不可能解决的。

其他时候,当试图从非常热的代码路径中榨取最大性能时,开发人员可以尝试以几种不同的方式排列他们的代码并比较编译结果。作为最后的手段,这可能是用汇编语言实现代码块时最简单的方法,即复制编译器的输出。

关于decompiling - 程序员应该使用反编译器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559629/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com