tôi đã kết thúc việc đặt nhiều chức năng nội tuyến nhỏ trong một tệp tiêu đề mà tôi đưa vào trong nhiều đơn vị biên dịch, mã được trình biên dịch chính xác và chương trình hoạt động như một nét duyên dáng.tiêu đề đầy đủ các hàm nội tuyến, tôi có thể di chuyển mã bên ngoài tệp tiêu đề và vẫn nội tuyến mọi thứ không?
nhưng bây giờ các tập tin tiêu đề là cái gì đó rất không bình thường (cho là một tập tin header), để làm cho nó dễ đọc hơn tôi nghĩ phải làm một cái gì đó như thế này:
#ifndef MY_HEADER_H
#define MU_HEADER_H
static inline
void my_fnct (my_param a);
#include "my_header.inline.c"
#endif
và file my_header.inline.c
sẽ như thế nào:
static inline
void my_fnct (my_param a)
{
// .. my code ..
}
khi đó, khi tôi muốn các chức năng này, tôi chỉ bao gồm tệp tiêu đề.
câu hỏi của tôi là: có cách nào tốt hơn để thực hiện việc này mà không làm đầy tệp tiêu đề có quá nhiều mã? hoặc tôi có thể làm điều này và mong đợi các nhà phát triển khác hiểu mã này mà không gặp vấn đề gì?
Sự cố với chức năng nội tuyến trong tiêu đề là gì? chức năng nội tuyến phải rất ngắn, một lớp lót, thực sự. – littleadv
Đối với hiệu suất mã, điều duy nhất làm thế nào bạn có thể thấy nếu vấn đề này là đo lường. Sự chậm lại của trình biên dịch của bạn với tất cả các công cụ bao gồm là gì? Kinh nghiệm của tôi là những thứ như vậy không đáng kể với các trình biên dịch hiện đại. Và không đáng để gặp phải hàng trăm tùy chọn cấu hình mà bạn dễ dàng trộn lẫn. –