PazeE 编译器(.NET 8/C# 实现),直接生成原生 x64/ARM64 机器码,无需 gcc/clang/nasm。 主要特性: - 词法/语法/语义分析、AST 生成、代码生成 - 目标平台:Windows (PE32+)、Linux (ELF64)、macOS (Mach-O 64)、Los4 - 架构:AMD64 与 ARM64 独立后端 - C 语法特性:匿名结构体/联合、位域、灵活数组成员、语句表达式+typeof - printf 颜色格式化、time.get.utc 时区支持 - GUI 支持:Windows (Win11 API)、Los4、Linux (X11)、macOS (ObjC) - Windows GUI 程序无控制台窗口(PE 子系统自动检测) - WiX Bundle 安装器(仅输出 .exe,MSI 作为中间产物内嵌)
30 行
679 B
Plaintext
30 行
679 B
Plaintext
// anon_member.pe — 匿名结构体/联合成员测试
|
|
struct S {
|
|
int id;
|
|
struct { // 匿名 struct 成员
|
|
int x;
|
|
int y;
|
|
};
|
|
union { // 匿名 union 成员
|
|
int as_int;
|
|
unsigned as_uint;
|
|
};
|
|
};
|
|
|
|
int main(void)
|
|
{
|
|
struct S s;
|
|
s.id = 1;
|
|
s.x = 10; // 直接访问匿名 struct 字段
|
|
s.y = 20;
|
|
s.as_int = -7; // 直接访问匿名 union 字段
|
|
|
|
printf("id=%d x=%d y=%d as_int=%d\n", s.id, s.x, s.y, s.as_int);
|
|
printf("as_uint=%u\n", s.as_uint);
|
|
|
|
s.as_uint = 4000000000U;
|
|
printf("after as_uint: as_int=%d as_uint=%u\n", s.as_int, s.as_uint);
|
|
|
|
return 0;
|
|
}
|