1 Star 1 Fork 0

羽名 / c2al

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

C to All Language(lua) binding

一,介绍

这是把一个c函数声明绑定所有语言的处理工具

该项目现在是实验阶段,测试生成有openGL,SDL2 的lua绑定

二,原理或过程

利用gcc 选项-fdump-translation-unit 生成中间解析树,再利用lua脚本处理解析树,最后根据树生成语言绑定 note:原本想利用clang生成的ast来解析的,发现太麻烦了,后来想利用生成的中间码(类似lisp),不过还是麻烦。最后还是选择了'translation-unit'

三,现阶段支持

函数声明导出 支持: 基本类型支持,指针类型(void*) 支持 未支持:回调函数,结构体(struct)参数,enum导出,struct导出

四,未来计划

1.enum导出

2.struct导出

3.宏变量

五,数据类型转换

string -> void*
userdata -> (void*)
lightuserdata -> void*
integer -> int
number -> double
function -> error

空文件

简介

C To All Languages(lua) binding 展开 收起
Lua
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Lua
1
https://gitee.com/uyami/c2al.git
git@gitee.com:uyami/c2al.git
uyami
c2al
c2al
master

搜索帮助