Un alieno mutante entrato nel corpo di Mirco Vivaldi ha scritto: > 1) se creo un programma vuoto (tipo touch pippo.c) e tento di > compilarlo chi mi da l'errore (preprocessore, compilatore, altro)? > ed inoltre se provo a farlo mi vengono dati errori sulle librerie > del c... che vuol dire???? L'errore te lo da il linker, e se noti il simbolo non risolto e` il buon vecchio main(), visto che main() viene a sua volta invocato dal codice di startup (crt?.o). In altre parole: il kernel nulla sa di main(), e c'e` uno strato che fa da `colla' tra la tua applicazione e il kernel. La `colla' sa come chiedere al kernel i parametri specificati da riga di comando, e li passa a main(), e sa che deve chiamare la exit() del kernel con il valore di ritorno di main() (se non vien chiamata da altri nel frattempo). Nel C++ la cosa e` ancor piu` evidente, perche` prima di chiamare main() ci sono anche da invocare tutti i costruttori degli oggetti istanziati staticamente, e dopo l'uscita da main() e prima della terminazione occorre invocare anche i distruttori di tali oggetti. Il linker, quando genera un eseguibile, include normalmente anche questo codice `colla' tra i file oggetto per produrre un eseguibile, ma se poi alla colla manca un pezzo (leggi: il main() del tuo programma), il tutto non sta molto insieme :-) > 2) cosa sono i diagrammi di Wirth? Dovrebbe trattarsi di un modo per rappresentare graficamente delle grammatiche (bello, ma un po' ingombrante). Qui trovi degli esempi (per Modula2): http://www.twu.ca/rsbook/Appendices/Ap2real.html e sarebbero detti ``di Wirth'' perche` nel libro di N. Wirth che illustrava il Pascal venivano appunto usati diagrammi di questo tipo (poi non so se li abbia inventati lui, anche se e` probabile). -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx