【发布时间】:2014-02-10 21:19:54
【问题描述】:
我的印象是,汇编语言知识对任何高级程序员都有好处,因为它可以帮助他们了解计算机的真正工作原理,从而更智能地编写高级代码。
出于这个原因,我很想开始学习汇编语言,但我也想知道,作为一名 fortran 程序员,真正能够编写汇编语言是否对我有用。
我能否发现自己用汇编语言重写简单的 fortran 程序以更好地解决科学问题?
如果此问题已在其他地方得到解答,我们深表歉意。
【问题讨论】:
-
了解更多信息总是有帮助的,恕我直言... ;) 我认为它不会真正有助于更快地编写科学程序,但它可能有助于优化此类程序,即使没有实际编写汇编中的东西,我认为在大多数情况下这是一个相当糟糕的主意。
-
有一个问题Learning Assembly 已经问过,您可能想仔细阅读答案。请注意,使用 gfortran,您可以键入
gfortran -S codename.f90并获取汇编输出,这样您就可以看到您的代码与手写代码相比如何。 -
我认为您为学习如何阅读汇编语言提出了合理的论据。至于手工制作紧凑、快速、节省内存的数字汇编器来替代 Fortran 编译器的产品……好吧,我刚刚描述了一些更好的 BLAS 实现(etc)。你能找到自己编写汇编语言例程来打败那些吗?难以破解。
-
我怀疑你会发现汇编语言对解决科学/数字问题很有用。现代编译器非常好,以至于你很难击败它们。有时汇编可能在设备驱动程序和操作系统中有用,尽管 C 更常用。更多地了解计算机的工作原理可能会有所帮助。