Вградени варианти на стандарта C99 и GNU
Здравейте на всички Заинтересувах се от един въпрос относно модификаторите на вградени функции за стандартите C99 и GNU
Първото нещо, което ме обърка беше откъс от книгата
Вградените функции на тялото се декларират с помощта на ключовите думи staic и inline в декларацията на функцията. Например,
Декларацията на функция трябва да бъде декларирана преди всяко извикване към нея, в противен случай под-
настройка на тялото няма да се извърши. Стандартната техника е разполагането на функции
със заместване на тялото в заглавните файлове. Тъй като функцията е декларирана като
static, не се създава екземпляр на функцията без заместване на тялото. Ако
функция със заместване на тялото се използва само в един файл, тогава може
бъде поставен в горната част на този файл.
Но по-късно попаднах на статия http://www.greenend.org.uk/rjk/2003/03/inline.html в нея също се обсъждат варианти в използването на вградени функции (раздел от стандарта C99) и ако преведох текста правилно, тогава моите заключения са следните: където е дефиниран и деклариран, но кодът е създаден, така че да може да бъде изтеглен от други модули, където вече ще бъде NON-IN CLUDED static inline - изобщо не разбрах разликата от обичайния inline
PS: От какъв стандарт се ръководят разработчиците на ядрото на Linux? защото тук е заглавката на ядрото