大多数人认为学习装配是必不可少的,了解计算机的基本工作方式很重要,等等.但我正在寻找的是一些实用的建议,这些建议将使学习大会的努力值得.
你有什么建议?通过不学习汇编和指针/内存管理,我错过了什么?
我认为学习汇编语言,指针和内存管理等低级内容的主要实际优势在于,当您编写或查看高级代码时,您可以更好地本能地或潜意识地发现性能问题或其他陷阱.
一个普通的开发人员,可能会编写一个简单的循环并思考,"这段代码遍历一组整数并将每个整数写入控制台."
专家开发人员可能会编写相同的循环并认为:"此代码遍历一组整数,并且必须将每个元素设置为调用ToString方法,并且ToString必须格式化基数10中的字符串,这有点不重要,并且然后盒装整数和格式化字符串很快就有资格进行垃圾收集,因为没有引用将保留,并且第一次运行此方法时,它将需要JIT'ed ......"等等.
10次中有9次,可能没关系.但是,在10次中,专家开发人员可能会注意到代码中存在一个普通开发人员永远不会考虑考虑的问题.
指针/内存管理比汇编语言更通用。您还需要了解 C 和 C++ 的它们,如果您必须维护用 C 编写的代码,您可能需要这些。
对于汇编语言,有时读取 C 编译器生成的汇编代码很有用,以了解它是否生成正确且有效的代码。