网站首页
编程语言
数据库
系统相关
其他分享
编程问答
rcx
2024-07-31
ucontext源码分析
gcc函数调用进入一个函数后的栈布局/*+----------------------------+|第6个参数后的参数(如果有)|+----------------------------+|返回地址(调用函数的下一个指令)|+----------------------------+|上一个函数rbp|+----------------------------+|
2023-11-28
小心C#中的只读结构体成员
示例我们先来看一段结构体的代码(基于VS2022+.NET8.0)publicstructMyStruct(intnumber){publicintNumber=number;publicvoidSetNumber(intnumber)=>Number=number;}publicclassProgram{privatestaticMyStructmyStruct=new(1);
2023-09-18
【译】.NET 7 中的性能改进(四)
原文|StephenToub翻译|郑子铭边界检查消除(BoundsCheckElimination)让.NET吸引人的地方之一是它的安全性。运行时保护对数组、字符串和跨度的访问,这样你就不会因为走到任何一端而意外地破坏内存;如果你这样做,而不是读/写任意的内存,你会得到异常。当然,这不是魔术;它是由JIT在
2023-07-24
x86-64 汇编传参
关于64位汇编的参数传递当参数少于7个时,参数从左到右放入寄存器:rdi,rsi,rdx,rcx,r8,r9。当参数为7个以上时,前6个与前面一样,但后面的依次从“右向左”放入栈中,即和32位汇编一样。参数个数大于7个的时候H(a,b,c,d,e,f,g,h);a->%rdi,b->%rsi,c->%r