发布网友 发布时间:2022-04-30 19:20
共5个回答
热心网友 时间:2022-06-30 04:20
自然不会,每一个变量(包括函数)都有自己的生命周期,程序结束后释放所有的内存,程序运行时只有被声明为inline内联函数,或者正在被调用的函数(也就是你上面收提及的第一种情况)存储在内存中(栈区),调用完毕后立即释放内存。热心网友 时间:2022-06-30 04:21
你这个问题回答起来比较复杂。首先C语言肯定是被编译到了机器代码了,机器代码只有被装载到内存后由才可以被CPU执行。机器代码被我们称为可执行文件,具体而言就是一种有格式的文件linux上面一般是ELF格式,windows上一般为PE格式。说白了操作系统干的事情就是读文件然后给CPU执行的过程。一个函数就是一条跳转指令,告诉系统我该跳转到哪一行。热心网友 时间:2022-06-30 04:21
没错,函数在代码段,会被加载到内存,调用函数时,通过call指令跳转到函数所在的内存地址执行函数。热心网友 时间:2022-06-30 04:22
一般来讲,程序不是很大的时候,程序的代码肯定都会装载到内存中,除非是程序大到没法全部装入操作系统给其分配的空间的时候,就会有一部分存在外存,用的时候替换进去热心网友 时间:2022-06-30 04:22
不会。C是用一次执行一次,不用时释放。不过你的变量得都是临时变量才不会占多余空间,如果是指针就保存到你指向的变量;如果是全局变量的话一开始就会占空间。追问我说的是指令会不会存到内存中,不是变量存储追答C