Có thể viết chương trình C không có main(). Entry point thực sự là _start() (do C runtime cung cấp), nó setup môi trường rồi gọi main().
Biên dịch với flag -nostartfiles để bỏ CRT, tự cung cấp _start().
Ví dụ
#include <stdio.h>
extern void _exit(int);
int _start() {
printf("Chay khong can main\n");
_exit(0);
}
Biên dịch & chạy
$ gcc test.c -nostartfiles $ ./a.out Chay khong can main
Cảnh báo: Chỉ để demo, không dùng production (thiếu khởi tạo libc, stdin/stdout/stderr).