- 博客(410)
- 资源 (9)
- 收藏
- 关注
原创 C语言函数内部一级指针不能传递给外部指针变量的详解
— 即函数接收的是实参的 “副本”,而非实参本身。对形参的修改不会影响实参的值。对于指针变量来说,这一特性同样适用:当你将外部指针(实参)传递给函数的一级指针参数(形参)时,函数内部的指针只是外部指针的。无关,函数结束后:形参 ptr 被销毁(局部变量生命周期结束),但它指向的 0x3000 内存未被释放(内存泄漏),外部。先说结论,是由参数传递机制(值传递) 决定的。(两者指向同一个地址,但本身是不同的变量)。被销毁(局部变量生命周期结束),但它指向的。要让函数内部的指针修改影响外部指针,需要传递。
2025-08-19 09:56:31
248
原创 并发进程 并发线程 和 cpu的数量、每个cpu核数的关系
进程与线程:进程是独立的资源分配单位(有独立内存空间),线程是进程内的执行单元(共享进程资源),线程是 CPU 调度的基本单位(无论是进程还是线程,最终都是线程在 CPU 上运行)。若总逻辑核心数为 N,则同一时刻最多有N 个线程在 “物理并行”(真正被 CPU 执行),其他线程会处于 “就绪” 或 “阻塞” 状态,等待 CPU 调度。逻辑核心数:若支持超线程(HT)技术,每个物理核心可模拟 2 个逻辑核心(如 16 核 CPU 开启超线程后,逻辑核心数为 32)。
2025-08-04 09:30:57
636
原创 C中的结构指针与数组大不同
C中的结构指针与数组有很大的不同,数组的名字就是数组的地址,结构变量的名字并不是结构变量的的地址,获取结构变量的地址必须使用 & 运算符。
2025-03-06 12:27:36
302
原创 boot汇编与kernal的汇编的比较
因此,boot的二进制文件没有包含ELF结构中的调试符号段,而内核的.o文件作为ELF目标文件包含这些符号,链接后的内核也保留它们,除非主动剥离。由于boot loader需要在系统启动的最初阶段运行,可能处于实模式或保护模式,需要直接操作硬件,因此编译时可能会去掉调试符号以减小体积,并且生成的是纯二进制文件,没有复杂的格式。需要明确说明:是的,如果编译和链接时没有去除,那么调试符号会被保留在内核ELF文件中,但这可能增加文件大小,因此在生产环境中可能被剥离,而开发时保留以便调试。ELF目标文件(.o)
2025-02-21 10:30:30
738
原创 从collections库的Counter类看items()方法和enumerate()方法
从collections库的Counter类看items()方法和enumerate()方法的异同
2023-09-16 15:32:50
829
原创 docker 之No chain/target/match by that name 问题解决
No chain/target/match by that name
2023-01-17 09:56:34
457
bro_log_vars.pdf
2020-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2