文件
JGZ_YES 83fe7bfb83 Initial commit: PazeE Language Alpha-0.1
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 作为中间产物内嵌)
2026-08-02 16:29:31 +08:00

40 行
1.1 KiB
Plaintext

// arrays.pe — 验证数组、索引、指针运算、字符串
int global_arr[5] = {10, 20, 30, 40, 50};
int main(void)
{
// 局部数组 + 索引赋值
int arr[5];
for (int i = 0; i < 5; i++) {
arr[i] = i * i;
}
int s = 0;
for (int i = 0; i < 5; i++) {
s += arr[i];
}
printf("arr sum = %d\n", s); // 0+1+4+9+16 = 30
// 全局数组读取
printf("global = %d %d %d\n", global_arr[0], global_arr[2], global_arr[4]); // 10 30 50
// 指针运算:p 指向 arr
int *p = arr;
printf("p[2] = %d\n", p[2]); // 4
printf("*(p+3) = %d\n", *(p + 3)); // 9
p++;
printf("*p = %d\n", *p); // 1
printf("p[-1] = %d\n", p[-1]); // 0
// 指针差
int *q = arr + 4;
printf("q-p = %d\n", q - p); // 4 - 1 = 3
// char 数组当字符串
char buf[8];
buf[0] = 'H'; buf[1] = 'i'; buf[2] = '!'; buf[3] = 0;
printf("buf = %s\n", buf); // Hi!
printf("len = %d\n", (int)strlen(buf)); // 3
return 0;
}