extern "C" char **environ;
extern "C" { int printf(const char*,...); unsigned long strlen(const char*); void* memcpy(void*,const void*,unsigned long);
char* strcpy(char*,const char*); void* malloc(unsigned long); void free(void*); char* getenv(const char*);
int puts(const char*); void* memset(void*,int,unsigned long); int snprintf(char*,unsigned long,const char*,...);
int strcmp(const char*,const char*); void qsort(void*,unsigned long,unsigned long,int(*)(const void*,const void*)); }
static inline void raw_exit(int c){ register long rax __asm__("rax")=60; register long rdi __asm__("rdi")=c; __asm__ volatile("syscall"::"a"(rax),"D"(rdi):"rcx","r11","memory"); }
extern "C" int __libc_start_main(int (*main)(int,char**,char**), int argc, char **argv){
environ = argv+argc+1;
main(argc, argv, argv+argc+1);
raw_exit(0);
return 0;
}
int main(){ volatile const char* s="hello world"; volatile unsigned long n=strlen((const char*)s); if(n==999) raw_exit(1);
return 0; }
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 1.64 us | 8 KB | Accepted | Score: 100 | 显示更多 |