提交记录 48310
| 提交时间 |
评测时间 |
| 2026-09-19 14:33:29 |
2026-09-19 14:33:30 |
typedef unsigned long long u64;
struct DuckInfo { u64 abi; const char*in; u64 insz; char*out; u64 outlim; u64 outsz; char*err; u64 errlim; u64 errsz; const char*IB; u64 IBlim; char*OB; u64 OBlim; u64 tscfreq; } __attribute__((packed));
static DuckInfo* DI;
static DuckInfo* find_duck(int argc, char**argv){
char**env = argv+argc+1; while(*env) env++;
u64*p = (u64*)(env+1);
for(; p[0]; p+=2) if(p[0]==0x6b637564ULL) return (DuckInfo*)p[1];
return 0;
}
static void put(const char*s){
if(!DI) return;
int n=0; while(s[n]) n++;
u64 off = DI->outsz;
if(off+n > DI->outlim) n = DI->outlim-off;
if((long)n<=0) return;
for(int i=0;i<n;i++) DI->out[off+i]=s[i];
DI->outsz = off+n;
}
static void die(){
register long rax __asm__("rax")=60; __asm__ volatile("syscall"::"a"(rax),"D"(0L):"rcx","r11","memory");
for(;;);
}
extern "C" void __libc_setup_tls(void) __attribute__((weak));
extern "C" int __libc_start_main(int (*main)(int,char**,char**), int argc, char **argv,
void (*init)(void), void (*fini)(void), void (*rtld)(void), void *se){
DI = find_duck(argc, argv);
put("BEG|");
if(init){ put("init()|"); init(); }
put("INI|");
main(argc, argv, argv+argc+1);
put("AFT|");
die();
return 0;
}
int plus(int a,int b){ return a+b; }
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 3.66 us | 12 KB | Runtime Error | Score: 0 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-09-24 06:38:42 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠