LKMPG: Ciao Mondo: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
{{Template:LKMPG}}
{{Template:LKMPG}}


==Hello, World (parte 1): Il modulo più semplice==
==Ciao, Mondo (parte 1): Il modulo più semplice==


Quando il primo programmatore delle caverne scolpì il primo programma sul muro del primo computer delle caverne, fu un programma che disegnava la stringa "Hello, world" con i graffiti. I libri di testo romani sulla programmazione iniziano con il programma "Salut, Mundi". Non so cosa possa succedere alle persone che rompono questa tradizione, ma penso sia più sicuro non scoprirlo. Inizieremo con una serie di programmi "hello world" che mostrano vari aspetti delle conoscenze di base nella scrittura di moduli del kernel.
Quando il primo programmatore delle caverne scolpì il primo programma sul muro del primo computer delle caverne, fu un programma che disegnava la stringa "Ciao, mondo" con i graffiti. I libri di testo romani sulla programmazione iniziano con il programma "Salut, Mundi". Non so cosa possa succedere alle persone che rompono questa tradizione, ma penso sia più sicuro non scoprirlo. Inizieremo con una serie di programmi "hello world" che mostrano vari aspetti delle conoscenze di base nella scrittura di moduli del kernel.


Qui vediamo il modulo più semplice possibile. Non compilarlo ancora; analizzeremo la compilazione di un modulo nella prossima sezione.
Qui vediamo il modulo più semplice possibile. Non compilarlo ancora; analizzeremo la compilazione di un modulo nella prossima sezione.
Riga 18: Riga 18:
int init_module(void)
int init_module(void)
{
{
printk(KERN_INFO "Hello world 1.\n");
printk(KERN_INFO "Ciao mondo 1.\n");


/*  
/*  
Riga 28: Riga 28:
void cleanup_module(void)
void cleanup_module(void)
{
{
printk(KERN_INFO "Goodbye world 1.\n");
printk(KERN_INFO "Arrivederci mondo 1.\n");
}
}
</pre>
</pre>
Riga 50: Riga 50:
I moduli del kernel devono essere compilati un po' differentemente dalle applicazioni userspace regolari. Le vecchie versioni del kernel richiedevano molta attenzione riguardo queste impostazioni, che sono, di solito, memorizzare nei Makefiles.
I moduli del kernel devono essere compilati un po' differentemente dalle applicazioni userspace regolari. Le vecchie versioni del kernel richiedevano molta attenzione riguardo queste impostazioni, che sono, di solito, memorizzare nei Makefiles.


==Hello, World (parte 2)==
==Ciao, Mondo (parte 2)==