Theo tiêu chuẩn C/C++, main()
là điểm bắt đầu của một chương trình. Nếu bạn đang sử dụng GCC, chức năng _start
là điểm vào của chương trình C thực hiện cuộc gọi đến main()
. Công việc chính của hàm _start()
là thực hiện một số tác vụ khởi tạo.
// $ gcc program_entry.c -nostartfiles
// $ ./a.out
// custom program entry
#include <stdio.h>
#include <stdlib.h>
void program_entry(void);
void
_start(void)
{
program_entry();
}
void
program_entry(void)
{
printf("custom program entry\n");
exit(0);
}
Nếu bạn muốn, mục nhập chương trình cũng có thể được biên dịch bằng chuyển đổi -e
trong GCC.
// $ gcc program_entry.c -e __start
// $ ./a.out
// custom program entr
#include <stdio.h>
void program_entry(void);
void
_start(void)
{
program_entry();
}
void
program_entry(void)
{
printf("custom program entry\n");
}
Nguồn
2017-12-14 03:14:39
Bạn có thể cho chúng tôi một số ngữ cảnh không? Bạn thấy '__start' ở đâu? – NPE
Nó ** là ** điểm vào. –