提交记录 31501
| 提交时间 |
评测时间 |
| 2026-08-14 09:21:47 |
2026-08-14 09:21:49 |
int plus(int a, int b) { return a + b; }
typedef unsigned long U;
static char **initial_argv;
static U initial_argc;
typedef unsigned long uint64_t;
struct DuckInfo_t {
uint64_t abi_version;
const char *stdin_ptr; // stdin pointer (read-only contents)
uint64_t stdin_size; // stdin size
char *stdout_ptr; // stdout pointer
uint64_t stdout_limit; // [IN] stdout maximum size
uint64_t stdout_size; // [OUT] stdout actual size
char *stderr_ptr; // stderr pointer
uint64_t stderr_limit; // [IN] stderr maximum size
uint64_t stderr_size; // [OUT] stderr actual size
const int *IB_ptr; // IB (Input Buffer) pointer
uint64_t IB_limit; // IB limit
int *OB_ptr; // OB (Output Buffer) pointer
uint64_t OB_limit; // OB limit
uint64_t tsc_frequency; // TSC (Time Stamp Counter) frequency
} __attribute__((packed));
U getauxval(U key, int initial_argc, char** initial_argv) {
char **p = initial_argv + initial_argc + 1;
while (*p) ++p;
U *aux = (U *)(p + 1);
while (aux[0]) {
if (aux[0] == key) return aux[1];
aux += 2;
}
return 0;
}
__attribute__((noreturn))
void __libc_start_main(int (*entry)(int, char **, char **), int argc, char **argv) {
struct DuckInfo_t* ee = ((struct DuckInfo_t*)getauxval(0x6b637564, argc, argv));
// for (int i=0; i<10; ++i) ee->OB_ptr[i] = ee->IB_ptr[i] + ee->IB_ptr[i+10];
__asm__ volatile("mov $60,%%eax;xor %%edi,%%edi;syscall"
::: "rax", "rdi", "rcx", "r11", "memory");
__builtin_unreachable();
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 2.22 us | 4 KB | Wrong Answer | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-09-12 08:10:17 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠