会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
c_G-17
博客园
首页
新随笔
联系
订阅
管理
2025年4月10日
python 中的 frame
摘要: 1、python的运行基础 frame 我们知道在C中每运行一个新函数,便会为该函数栈上开辟一个帧,而python中的frame 就是这么一个概念,每一个函数运行都会给他创建一个frame 作为函数的运行环境 1.1 f_back 上一帧 在C中,我们是通过sp、bp 寄存器作为栈顶栈底指针操作连续
阅读全文
posted @ 2025-04-10 22:01 G1733
阅读(22)
评论(0)
推荐(0)
2025年4月9日
PernET 服务控制
摘要: Packets Engineering Network Transport (PENT) 在 Linux 内核中,Packets Engineering Network Transport(PENT)是一种基于PernET协议的内核模块,主要用于实现网络流量控制和过滤功能。它通过配置过滤规则、确认应
阅读全文
posted @ 2025-04-09 13:11 G1733
阅读(24)
评论(0)
推荐(0)
2025年4月7日
python闭包实现
摘要: 1.python 闭包是函数变量的不同保存形式 如下python将d 作为函数的普通变量保存在locals 中 def g(): d = {} def f(): #d["a"] = 1 pass return f code = g.__code__ print(f"nlocals: {code.co
阅读全文
posted @ 2025-04-07 20:05 G1733
阅读(17)
评论(0)
推荐(0)
2024年7月22日
python解释器源码函数调用分析
摘要: 1、编译python代码 1.1 python代码 test.py 1 def ftest(): 2 x = 3 3 ftest() 1.2 编译工具 disass_py.py #-*- coding:utf8 -*- import dis import sys def disassemble_fi
阅读全文
posted @ 2024-07-22 16:37 G1733
阅读(236)
评论(0)
推荐(0)
2024年7月5日
go func 时发生了什么
摘要: 1、go func 编译如下程序,将断点打在go recvGen 和go tstPrint 处,分别单步调试进入newproc 函数查看fn地址 package main import "fmt" func tstPrint(x int, c chan int) { fmt.Printf("%d",
阅读全文
posted @ 2024-07-05 00:23 G1733
阅读(18)
评论(0)
推荐(0)
2024年7月3日
go当中的线程存储与使用
摘要: 1、settls 从引导代码中可以看到,在执行settls前将m.tls放入了DI。 go/src/runtime/asm_amd64.s:159 TEXT runtime·rt0_go(SB),NOSPLIT|NOFRAME|TOPFRAME,$0 .... LEAQ runtime·m0+m_t
阅读全文
posted @ 2024-07-03 17:40 G1733
阅读(58)
评论(0)
推荐(0)
2024年6月11日
Go语言goroutine调度器初始化
摘要: 1、调度器初始化 调用点:src/runtime/asm_amd64.s:349 -> CALL runtime·schedinit(SB) runtime/proc.go : 526 func schedinit() { // raceinit must be the first call to
阅读全文
posted @ 2024-06-11 23:43 G1733
阅读(49)
评论(0)
推荐(0)
2024年6月7日
go初始化源码学习
摘要: 1、入口 1.1 准备go程序 package main func test() int { return 1 } func main() { go test() } 编译 go build main.go 1.2 使用readelf 查找入口 root@xxx:/data# readelf -h
阅读全文
posted @ 2024-06-07 01:40 G1733
阅读(102)
评论(0)
推荐(0)
2024年6月5日
常用汇编知识
摘要: 原文 1. 汇编知识 1.1. 寄存器 64 位模式下,虽然处理器现在只能支持 48 位的地址,但是理论上,地址最大为 64 位。从寄存器来看,64 位模式与 32 位最主要的区别如下所示: 16 个 64 位通用寄存器(32 位模式只有 8 个通用寄存器) 8 个 80 位浮点寄存器 1 个 64
阅读全文
posted @ 2024-06-05 11:18 G1733
阅读(71)
评论(0)
推荐(0)
2024年6月3日
python3 源码阅读-虚拟机运行原理
摘要: 原文 阅读源码版本python 3.8.3 参考书籍<<Python源码剖析>> 参考书籍<<Python学习手册 第4版>> 官网文档目录介绍 Doc目录主要是官方文档的说明。 Include:目录主要包括了Python的运行的头文件。 Lib:目录主要包括了用Python实现的标准库。 Modu
阅读全文
posted @ 2024-06-03 23:46 G1733
阅读(131)
评论(0)
推荐(0)
下一页
公告