- 所有 tcc 文件/内容/宏改名为 pcc (tcc.c->pcc.c, tccelf.c->pccelf.c, libtcc.c->libpcc.c 等) - 支持架构: i386, x86_64, ARM, ARM64, RISC-V, C67 - 支持格式: PE, ELF, Mach-O, COFF - 完整预处理、代码生成、链接器、调试信息 - 构建成功: pcc.exe (x86_64 Windows) - 功能测试通过: 递归/结构体/浮点/switch/循环 - 自编译测试通过: pcc 可以编译自身
16 行
412 B
C
16 行
412 B
C
#define str(s) # s
|
|
#define xstr(s) str(s)
|
|
#define debug(s, t) printf("x" # s "= %d, x" # t "= %s", \
|
|
x ## s, x ## t)
|
|
#define INCFILE(n) vers ## n
|
|
#define glue(a, b) a ## b
|
|
#define xglue(a, b) glue(a, b)
|
|
#define HIGHLOW "hello"
|
|
#define LOW LOW ", world"
|
|
debug(1, 2);
|
|
fputs(str(strncmp("abc\0d", "abc", '\4') // this goes away
|
|
== 0) str(: @\n), s);
|
|
\#include xstr(INCFILE(2).h)
|
|
glue(HIGH, LOW);
|
|
xglue(HIGH, LOW)
|