06 2024 档案

摘要:首先,我们需要考虑下函数调用前,我们需要做些哪些准备工作。调用时,如何切换到它对应的函数环境中,调用完后,又如何切换回来。 函数调用前准备 我们之前有介绍过函数闭包,lua 函数能像其他值(数值、字符串)一样,可以被存放在变量中,也可以存放在表中,可以作为函数的参数,还可以作为函数的返回值。(在lu 阅读全文
posted @ 2024-06-27 08:34 墨色山水 阅读(130) 评论(0) 推荐(0) 编辑
摘要:在做一个通用的 lua 性能监控工具,不嵌入代码,目前了解到的,比较好的方式是使用 ebpf 。 chatgpt 对 ebpf 介绍: eBPF是一种允许用户在 Linux 内核中注入自定义代码的技术,eBPF全称为 extended Berkeley Packet Filter,它提供了一种轻量级 阅读全文
posted @ 2024-06-16 11:43 墨色山水 阅读(103) 评论(0) 推荐(0) 编辑
摘要:RBP 寄存器栈帧回溯 栈帧:每个函数调用时,都需要在用户栈中存储一些临时变量,参数,返回地址,还有一些和函数相关的信息。在函数调用完后,栈帧会被销毁,释放,这个过程是自动的。 原理:rbp寄存器存储了当前函数栈帧地址,每当调用一个新的函数时,会先把当前函数的栈帧地址(rbp寄存器值) push 进 阅读全文
posted @ 2024-06-12 19:40 墨色山水 阅读(301) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示