MazuCC 介绍
Mazucc 是一个最低限度的C编译器,具有x86_代码生成功能。它旨在支持部分C99语言功能,同时尽可能保持代码的小和简单。灵感来自于
8cc。
构建
$ make
MazuCC 包含单元测试,使用如下命令进行测试:
$ make check
MazuCC 支持 GNU/Linux 和 MacOS
使用 MazuCC 编译 C 代码
$ ./mzcc < sample/nqueen.c
将生成 AT&T 语法格式的 x86_64 汇编:
$ ./mzcc < sample/nqueen.c > sample/nqueen.s $ gcc -no-pie -o sample/nqueen sample/nqueen.s
如果是 MacOS 系统,则可忽略 –no-pie 参数
参考输出:
Q . . . . . . . . . . . Q . . . . . . . . . . Q . . . . . Q . . . . Q . . . . . . . . . . . Q . . Q . . . . . . . . . Q . . . .
你也可以查看内部抽象语法树
echo 'struct {int x; char y; struct { int t; } z; } a;' | ./mzcc --dump-ast
输出内容:
(decl (struct (int) (char) ((struct (int)))) a)
MazuCC 官网
https://github.com/jserv/MazuCC
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。