Il compilatore non ti impedisce nulla: prende quello che scrivi e lo traduce in codice eseguibile.
Ciò che ti viene impedita è l'esecuzione di quel codice. Per scrivere una funzione che interagisce direttamente con l'hardware devi obbligatoriamente andare ad indirizzare alcune risorse (tipicamente tradotte tramite indirizzi di memoria). Questi indirizzi di memoria non sono direttamente accedibili da un programma eseguito in user-mode (non fanno parte dello user-space). Quindi quel programma, semplicemente, non funzionerà e verrà terminato con un codice d'errore che indica il tentativo di accesso ad una zona di memoria non disponibile.
Ciao.![]()



Rispondi quotando