MazuCC 微型C编译器

程序名称:MazuCC

授权协议: BSD

操作系统: Linux

开发语言: C/C++

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

相关编程语言

提到 EclEmma 首先就要说到著名的 Java 覆盖测试工具...
Solex是一个WEB应用测试用的Eclipse插件。Solex可以...
Apache为我们提供了一个强大的工具 Cactus!它是一套...
Google C Testing Framework是Google公司用来在各种...
JdbcProxy 是 SourceForge 上一个开源的 Java 项目,...
Ripplet是一款负载测试工具,特征如下: 1)基于Apa...