Zakończyłem wstawianie wielu małych małych funkcji inline w pliku nagłówkowym, który zawieram w wielu jednostkach kompilacji, kod jest poprawnie wstawiony przez kompilator, a program działa jak zaklęcie.nagłówek pełen funkcji śródliniowych, czy mogę przenieść kod poza plik nagłówkowy i nadal wstawiać wszystko?
ale teraz plik nagłówka jest coś niezwykłego (za to, że plik nagłówka), aby uczynić go bardziej czytelnym myślałem, aby zrobić coś takiego:
#ifndef MY_HEADER_H
#define MU_HEADER_H
static inline
void my_fnct (my_param a);
#include "my_header.inline.c"
#endif
i plik my_header.inline.c
będzie tak:
static inline
void my_fnct (my_param a)
{
// .. my code ..
}
wtedy, gdy chcę te funkcje, po prostu dołączam plik nagłówkowy.
moje pytanie brzmi: czy jest lepszy sposób na osiągnięcie tego bez konieczności wypełniania pliku nagłówkowego zbyt dużą ilością kodu? lub mogę to zrobić i oczekuję, że inni programiści zrozumieją ten kod bez problemów?
Na czym polega problem z wbudowanymi funkcjami w nagłówku? Funkcje inline powinny być bardzo krótkie, naprawdę liniowe. – littleadv
Jeśli chodzi o wydajność kodu, jedyną rzeczą, która pozwala stwierdzić, czy ma to znaczenie, jest pomiar. Jakie jest spowolnienie kompilatora z wszystkimi zawartymi w nim materiałami? Z mojego doświadczenia wynika, że takie rzeczy są pomijalne w przypadku współczesnych kompilatorów. I nie warto mieć setek opcji konfiguracyjnych, które łatwo mieszasz. –