Tôi vừa duyệt qua các tệp nguồn gcc
. Trong gcc.c
, tôi thấy cái gì đó nhưtuyên bố từ bên ngoài và định nghĩa hàm cả trong cùng một tệp
extern int main (int, char **);
int
main (int argc, char **argv)
{
Bây giờ nghi ngờ của tôi là extern
là để nói với trình biên dịch rằng chức năng đặc biệt không có trong tập tin này nhưng sẽ được tìm thấy ở một nơi khác trong dự án. Nhưng ở đây, định nghĩa của main
là ngay sau khi khai báo extern
. Mục đích của việc khai báo extern
là gì?
Nó có vẻ như, trong ví dụ cụ thể này, extern
dường như được cư xử như export
mà chúng tôi sử dụng trong lắp ráp, wherin chúng tôi xuất khẩu một biểu tượng đặc biệt bên ngoài của các mô-đun
Bất kỳ ý tưởng?
Yup. Sử dụng extern khi làm một cái gì đó không chuẩn. – Barry