LKMPG: Ciao Mondo: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Riga 162: Riga 162:


Adesso diamo un occhiata a <code>linux/drivers/char/Makefile</code> per un esempio concreto. Come si può vedere, qualcosa è stata inserita nel kernetl (obj-y) ma dove sono andate tutte le obj-m? Chi ha familiarità con gli script di shell può facilmente individuarli. Per quelli che non hanno familiarità, le voci obj-$(CONFIG_FOO) che si vedono ovunque vengono espanse in obj-y o in obj-m a seconda del fatto che la variabile CONFIG_FOO è stata settata a 'y' o a 'm'. Già che ci siamo, queste erano esattamente il tipo di variabili che avete impostato nel file <code>linux/.config</code> l'ultima volta che avete dato il comando '''make menuconfig''' o qualcosa di simile.
Adesso diamo un occhiata a <code>linux/drivers/char/Makefile</code> per un esempio concreto. Come si può vedere, qualcosa è stata inserita nel kernetl (obj-y) ma dove sono andate tutte le obj-m? Chi ha familiarità con gli script di shell può facilmente individuarli. Per quelli che non hanno familiarità, le voci obj-$(CONFIG_FOO) che si vedono ovunque vengono espanse in obj-y o in obj-m a seconda del fatto che la variabile CONFIG_FOO è stata settata a 'y' o a 'm'. Già che ci siamo, queste erano esattamente il tipo di variabili che avete impostato nel file <code>linux/.config</code> l'ultima volta che avete dato il comando '''make menuconfig''' o qualcosa di simile.
==Ciao, Mondo (parte 3): Le macro __init e __exit
Ora vedremo una caratteristica dei kernel 2.2 e superiori. Nota la modifica della definizione delle funzioni init e cleanup.
168

contributi