Originariamente inviato da Lyn
Ma quindi oltre a includere i sorgenti degli header e` anche possibile indicare l'inclusione delle librerie precompilate? O e` una cosa implicita, nel momento in cui si compila un programma su un sistema che le ospita?
L'inclusione di header file e il collegamento di librerie sono due azioni diverse che coinvolgono fasi diverse. Molto a grandi linee, l'inclusione degli header e' gestita (assieme ad altre direttive quali #define) dal preprocessore, che e' quel componente che agisce subito prima del compilatore vero e proprio; il preprocessore manipola i sorgenti espandendo le varie direttive, e il suo output e' ancora un sorgente C, in cui pero' i vari header file sono stati incorporati nel sorgente vero e proprio. Puoi fare qualche prova invocando 'cpp' o 'gcc -E' su qualche sorgente C.
Il preprocessore da in pasto il suo lavoro al compilatore vero e proprio, che da un file sorgente C emette la traduzione in codice macchina, piu' eventuali ottimizzazioni; infine, e' il linker (ld) che mette insieme tutti i pezzi di codice oggetto, prodotti dal compilatore, per dar vita ad un eseguibile, una libreria o altro; e' appunto in questa fase che ha lugo l'inclusione (meglio: collegamento) delle varie librerie utilizzate.

Ma a grandi linee cosa cambia tra ANSI C99 (il piu` recente, a quanto ho letto) e POSIX? Linux quale usa?
Linux (il kernel) usa l'ISO C99 + estensioni di gcc; Linux (l'OS) supporta pero' sia ISO C che POSIX. POSIX, nella fattispecie, e' uno standard che specifica quali feature deve esporre un sistema di tipo unix a livello di funzioni di libreria o chiamate di sistema (e altro ancora). Lo si puo' vedere come un sovrainsieme dello standard C.

Librerie grafiche ne esistono? Ad esempio una cosa del tipo window (0,0,100,100) che mi costruisca una finestra 100x100 a partire dalle coordinate 0,0? E se esistono, fan parte dei vari standard o sono totalmente separate da essi?
A iosa ne esistono
Non conosco pero' librerie grafiche regolamentate da standard (a livello di codice)