《程序是怎样跑起来的》第十章理解

汇编语言与本地代码是一一对应的,因为汇编语言是机器码的文本表示。编译器将高级语言编写的源代码转换为汇编语言,然后再由汇编器将汇编语言转换为机器码。在这个过程中,每一条汇编指令通常都对应着一条或几条机器码指令。因此,汇编语言程序与最终的机器码程序在指令层面上是一一对应的。
函数内部处理时,全局变量和局部变量在内存中的存储方式是有区别的。全局变量是在函数之外定义的变量,它们的生命周期是整个程序的执行期间。全局变量通常存储在数据段中,且在整个程序的运行期间都保持存在。由于全局变量在整个程序中都是可见的,因此它们可以被程序中的任何函数访问和修改。
局部变量是在函数内部定义的变量,它们的生命周期仅限于函数调用的执行期间。局部变量通常存储在栈中。当函数被调用时,会在栈上为该函数的局部变量分配空间;当函数返回时,这些局部变量所占用的空间会被释放。由于局部变量的生命周期仅限于函数内部,因此它们只能在定义它们的函数内部访问。
全局变量的生命周期是整个程序的执行期间,而局部变量的生命周期仅限于函数调用的执行期间。
全局变量通常存储在数据段中,而局部变量存储在栈上。全局变量在整个程序中都是可见的,可以被任何函数访问和修改;而局部变量只能在定义它们的函数内部访问。
全局变量的内存分配和释放由操作系统管理,而局部变量的内存分配和释放由编译器和运行时环境管理。

posted @ 2024-02-29 21:10  沙鑫钰  阅读(15)  评论(0)    收藏  举报