Zig
文章平均质量分 62
笨笨D幸福
一个因好奇而误入地球的太阳系生物.
https://gitcode.com/mycat
https://github.com/BBDXF
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
zig 实现 UI控件中常见的interface封装【靠谱办法】
本文探讨了在Zig语言中实现UI控件复用的几种方案,最终采用了一种基于vtable的封装方法。作者尝试了硬编码转发、反射和函数注册等方案后,发现都存在重复代码或实现复杂的问题。最终方案通过Controller结构体封装UI控件的公共接口,使用类型擦除和回调函数实现多态。示例代码展示了如何将不同UI控件(UIBase和UIBase2)统一封装为Controller,并通过统一的接口进行调用。这种方法要求UI控件保持一致的函数签名,但避免了重复代码,实现了简洁的控件复用机制。原创 2025-07-01 09:48:04 · 274 阅读 · 0 评论 -
Zig FFI与第三方C库的集成与使用
Zig的官方文档中没有对于与第三方C库集成说明太多,实际使用时,出现很多问题。C的数据类型与Zig数据类型的对照。官方有基础类型的,对于字符串,结构体,特别是指针,官方直接不建议使用!但是实际上使用cimport进来的很多数据类型,都是C风格的指针,需要用户自己处理!这是最大的坑点.C中的Union结构体,如何在zig中读取和解析官方默认的实现是, 不明确的指针,需要用户自己强转。Zig的fmt/print相关函数,字符串格式化具体参数与说明在哪里?直接参考文章第一小节。这里以集成libc和。原创 2024-10-06 11:41:17 · 1280 阅读 · 0 评论
分享