Tôi đang làm việc trên một số mã tôi đã không viết và nhận thấy rằng có rất nhiều extern void my_func();
.Tại sao bạn sử dụng `extern void my_func();` thay vì bao gồm `my_utils.h`?
Sự hiểu biết của tôi là extern
đối với các biến toàn cục, không phải cho các hàm.
Có lý do thực tế nào để khai báo hàm là extern
thay vì đặt nó vào tệp tiêu đề và bao gồm không? Hay đây chỉ là một sự lựa chọn phong cách?
luôn được đặt bên ngoài theo mặc định trong C? bạn có chắc không?? – Donotalo
@Donotalo: Khá chắc chắn, nhưng đó là nửa đêm, vì vậy ai biết được những gì mệt mỏi đã làm cho bộ não của tôi. –
Tôi đang làm việc cho bộ điều khiển vi mô trong 2 năm. trình biên dịch tôi sử dụng là C. mặc dù không hoàn toàn ANSI C, và nhiều tính năng của C99 vắng mặt, nhưng để gọi một hàm không tĩnh được định nghĩa trong một tệp khác, chúng ta cần 'extern' nguyên mẫu của nó hoặc bao gồm tiêu đề. – Donotalo