IP 属地江苏
逸之《01改变世界》作者
他的动态
假设常量值很大,无法内嵌到机器码中,对其的访问也不会被直接替换成值这样假设其实不如直接谈变量而不是常量,超出指令立即数表示范围的常量其实还是有机会使用几条运算指令拼出来的。 下面谈论变量:全局静态变量的访问基本是需要访存的,局部变量可能在栈上,也可能在寄存器里,这取决于编译器,如果在栈上则与全局静态变量访问效率一样,如果在寄存器里则效率远高于全局静态变量。
汇编步骤不多余,它至少有以下几点意义: 1、用于基础软件调试和性能优化。做操作系统内核、编译器、调试调优工具这类底层软件开发和性能优化的程序员每天都在和汇编代码打交道,需要汇编器和反汇编器的支持。 2、用于直接翻译汇编代码。为了提高性能,有些程序代码是直接用汇编写的,比如glibc里就有很多汇编文件,翻译它们用的是汇编器而非编译器。 3、提高编译器模块化。汇编器独立于编译器符合低耦合的软件工程理念,一些编…