文件
Paze-C-CPP-Compiler/tests/tests2/130_large_argument.c
T
Paze AI 251ee470bf feat: Paze C Compiler - 完整改造自 tcc 0.9.28rc
- 所有 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 可以编译自身
2026-08-16 13:30:01 +08:00

42 行
844 B
C

#include<stdio.h>
struct large1 {
int a[768];
};
struct large2 {
int a[1920];
};
void pass_large_struct1(struct large1 in)
{
printf("%d %d\n", in.a[200], in.a[767]);
return;
}
void pass_large_struct2(struct large2 in)
{
printf("%d %d %d\n", in.a[200], in.a[1023], in.a[1919]);
return;
}
void pass_many_args(int a, int b, int c, int d, int e, int f, int g, int h, int i,
int j, int k, int l, int m)
{
printf("%d %d %d %d %d %d %d %d %d %d %d %d %d\n", a, b, c, d, e, f, g, h, i,
j, k, l, m);
return;
}
struct large1 l1 = { .a = { [200] = 1, [767] = 2 } };
struct large2 l2 = { .a = { [200] = 3, [1023] = 4, [1919] = 5} };
int main(void)
{
pass_large_struct1(l1);
pass_large_struct2(l2);
pass_many_args(13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1);
return 0;
}