MazuCC 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
MazuCC 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
MazuCC 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 BSD
开发语言 C/C++
操作系统 Linux
软件类型 开源软件
开源组织
地区 国产
投 递 者 红薯
适用人群 未知
收录时间 2019-06-10

软件简介

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)
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
16 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部