【问题标题】:is there any point in learning assembly language? [closed]学习汇编语言有什么意义吗? [关闭]
【发布时间】:2012-08-23 15:14:56
【问题描述】:

过去几个月我一直在努力学习汇编语言,在我看来,我尝试的任何事情都是不可能做到的。

我找到了 Intel x86 指令集参考(全部 4000 页),以及三到四个其他教程。我已经阅读了这些,使用了示例代码并试图理解它。但是我仍然不能用汇编做太多的事情。因此,我在 Stack Overflow 上注册了一个帐户。但我觉得好像我用我的过于简单和糟糕的问题来烦扰论坛。

我的问题是,现在有人追求汇编语言有什么意义吗?这很有趣,但是即使是一个简单的窗口也很难(CreateWindowEx 函数需要 12 个废弃的参数!),这似乎毫无意义。

谢谢

【问题讨论】:

  • 在汇编程序中编写一个完整的 gui 应用程序非常痛苦,但知道您是否想对“忙碌”程序的关键部分进行严格编码仍然很有用。
  • 学习汇编有很多理由。不过,像打电话给CreateWindowEx 这样的事情可能不会进入我的前五名。你为什么要努力学习?调整代码的关键部分?弄清楚如何更好地调试故障转储?还是仅仅因为?
  • @Mysticial 我写的时候没看到其他帖子,抱歉。
  • @Orzechowskid 我写不出足够好的代码来调整它,所以我正在学习它。

标签: assembly x86


【解决方案1】:

绝大多数程序员永远不需要用汇编程序编程,就像绝大多数人可能永远不需要正则表达式,或者需要学习各种数据结构的内在复杂性。

这不会降低它们在您的工具包中的价值。

我个人不会用汇编程序编写成熟的窗口应用程序,就像我不会用它编写一个会计包,或者用 COBOL 编写一个操作系统,或者几乎任何东西帕斯卡:-)

为工作选择正确的工具(在所有环境中),您的生活会轻松很多。

【讨论】:

  • 嗯,你在和自己约会。你知道如果你回过头来看看 Pascal 已经过去了这么多时间,也许是从编译器的角度而不是用户的角度。它实际上有一些美丽......我没有也没有在里面写任何东西。
  • 假设您说 asm 是工具箱中的必要工具,可以在适当的时候使用。这将是引导/启动代码,反汇编以查看编译器做了什么,也许这不是你的错误。并且非常罕见的反汇编后的代码使编译后的代码在程序的关键性能部分更快。