摘要:
参数为默认值的函数 参数从右面开始给默认值。 如果不缺省参数,需要在汇编层面mov实参到寄存器,并push压栈此寄存器值;而如果缺省一个参数,在汇编代码层面,相当于少一句mov指令,而可以直接push一个立即数。从而提高效率。 定义和声明两阶段都可以给默认值,但二者只能给一次,即使定义和声明两阶段给 阅读全文
posted @ 2024-01-11 23:07
二氧化硅21
阅读(5)
评论(0)
推荐(0)
摘要:
程序编译与链接原理 预编译:处理#命令,但保留#pragma,删除注释。 编译:词法分析、语法分析、语义分析和优化,生成汇编代码。 汇编:将汇编代码翻译成机器码(AT&T,x86语法),打包为可重定位二进制目标文件,此文件不可执行。输出符号表。 链接:合并.o文件段,合并符号表,解析并符号重定向。 阅读全文
posted @ 2024-01-11 23:04
二氧化硅21
阅读(10)
评论(0)
推荐(0)
摘要:
进程的虚拟地址空间内存划分和布局 编程语言->产生指令和数据 程序生成exe可执行文件,加载到内存后(不是一步直接加载到物理内存中)如何存放。 x86 32位linux下,linux会给进程分配一块2的32次方大小的一块空间(4G),这块空间是一块虚拟内存空间,虚拟内存空间本质上是系列数据结构。 这 阅读全文
posted @ 2024-01-11 22:50
二氧化硅21
阅读(24)
评论(0)
推荐(0)