extern inline -=-=-=-=-=-=-=- If debugging is the process of removing bugs, then programming must be the process of putting them in. -- Dijkstra konstrukce Extern inline konstrukce umožňuje udělat rychlé náhražky knihovních funkcí. Pokud je zaplá optimalizace a překladač narazí na funkci deklarovanou jako extern inline, všechny další volání se inlinují. Pokud je ale optimalizace vyplá, funkce se ignoruje a volá se standardní. Proto do headerů můžete sepsat svoje nejoblíbenější funkce, které by měly být rychlé a takový header pak volat všude, kde je třeba. Taková běžná extern inline funkce je: extern inline void outportb (unsigned short _port, unsigned char _data) { asm volatile ("outb %1, %0" : : "d" (_port), "a" (_data)); } Samozřejmě, že jde extern inline funkce používat i pro standardní C kód, nejenom asm. výheň