#4
|
|||
|
|||
Re: кстати, об истории с inline
Alex Korchmar написал(а) к Eugene Grosbein в Dec 17 13:50:44 по местному времени:
From: Alex Korchmar <noreply@linux.e-moe.ru> Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: AK>> народ, а никто не может мне объяснить семантический смысл конструкции AK>> extern _inline_ int fn() { some shit } ? EG> Для каждой обозванной _inline_ функции компилятор может делать EG> до двух экземпляров кода функции, один обычный и один _inline_ EG> Обычный для взятия адреса функции, например. в результате, если это объявление встречается в двух разных файлах, линкер йопается со словами "ой, они редефайнули!" EG> If you specify both inline and extern in the function definition, EG> then the definition is used only for inlining. In no case is the function ага,то есть это как раз защита от подобного поведения. EG> Не было "inline" в языке C до C99, в частности его нету в C90. зато теперь есть. А вот хитрожопого значения слова extern в этом случае - видимо, нет, как минимум в шланге как минимум с настойкой по умолчанию. спасибо, понятно - выпиливаем наркоманию. > Alex --- ifmail v.2.15dev5.4 |