Re: question about `static inline` functions in header files

Поиск
Список
Период
Сортировка
От Junwang Zhao
Тема Re: question about `static inline` functions in header files
Дата
Msg-id CAEG8a3JSEQvtZWyCMQH6GaRJHpBfhygQZJHt9A8Ec0VCgbqqdA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: question about `static inline` functions in header files  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Ok, thanks for the clarification.

On Fri, Jul 22, 2022 at 11:03 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Junwang Zhao <zhjwpku@gmail.com> writes:
> > I notice that there are lots of *static inline functions* in header files,
> > the header file's content will go into each translation unit at preprocess
> > phase, that means all the c file including the header will have a copy
> > of the static inline function.
>
> We are assuming that the compiler will not emit unused static functions.
> This has been default behavior in gcc for ages.  If you're unfortunate
> enough to have a compiler that won't do it, yes you're going to have a
> bloated binary.
>
> > IMHO, the header files should only include the inline function's declaration,
> > and the definition should be in c files.
>
> Then it couldn't be inlined, defeating the purpose.
>
>                         regards, tom lane



-- 
Regards
Junwang Zhao



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Fujii Masao
Дата:
Сообщение: Re: postgres_fdw: Fix bug in checking of return value of PQsendQuery().
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Remove useless arguments in ReadCheckpointRecord().