起源是给网友讲 qsort 里那个诡异的 cmp
讲完后让对面写了一篇。这里补充一些细节。

泛型简单介绍

就是对不同的 type 复用代码。

c 里面如何实现泛型

用无类型指针 (void *),类比 as any

为什么要 sizeof item

引出指针丢失信息。c 本身缺乏泛型,用 void * 模拟 any,但是这样会丢失信息,只能再传一个 sizeof 来补全丢失的信息。函数内部也需要再转回 (int *) 再 * 来补充信息。

函数指针对应 label 跳转

打开 godbolt
参数 -S 表示不优化
指针指的地址对应 label, 传入 ecx 寄存器,然后 call 调用。
 
Loading...
Steven Lynn
Steven Lynn
喂马、劈柴、周游世界
最新发布
我与 Dify 的半年
2025-3-9
我的2022年终小结
2024-11-9
记录雅思考试经历与一点学习心得
2024-11-9
Hackergame 2024 思路小结
2024-11-9
黑客松、日本、入职:我的2024下半年的总结
2024-11-9
NotionNext:基于Notion和NextJS的开源博客
2024-11-9