|
|
1
4
虽然这种行为不是由C标准定义的,但它是事物工作方式的自然结果。
函数返回值的规则通常规定,如果类型允许,返回值将存储在指定的处理器寄存器中。什么时候?
之间的所有来电者
最终的效果是
例如,如果从函数返回值的规则是将其放在调用者堆栈帧中的指定位置,则不会发生这种情况。在这种情况下,最深的调用会将返回值存储在第二深的调用帧中,但该调用不会在其调用者帧中存储任何内容,因此返回值不会在调用链上传播。
有时编译器优化会破坏未定义的行为。然而,在这种情况下,对于优化或更改使用的编译器,行为可能相当稳定。给定此代码
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |