= Сообщение: 6269 из 10756 ===================================== RU.UNIX.BSD = От : Alex Korchmar 2:5020/400 25 Dec 17 13:50:44 Кому : Eugene Grosbein 25 Dec 17 13:50:44 Тема : Re: кстати, об истории с inline FGHI : area://RU.UNIX.BSD?msgid=<1187508631@ddt.demos.su>+3e2f023e На : area://RU.UNIX.BSD?msgid=grosbein.net+3b1449fa = Кодировка сообщения определена как: IBM866 ================================= ============================================================================== From: Alex Korchmar <noreply@linux.e-moe.ru>
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> Hе было "inline" в языке C до C99, в частности его нету в C90. зато теперь есть. А вот хитрожопого значения слова extern в этом случае - видимо, нет, как минимум в шланге как минимум с настойкой по умолчанию.
спасибо, понятно - выпиливаем наркоманию.
> Alex
--- ifmail v.2.15dev5.4 * Origin: Demos online service (2:5020/400)