Il valore di 0xDEADBEEF ha tre vantaggi pratici, principalmente per i sistemi meno recenti. I vecchi hack assembler / C, come me, lo userebbero per riempire la memoria non allocata per risolvere i problemi di memoria. Inoltre, è un gioco di parole del termine gergale "carne morta". Il programmatore è carne morta se DEADBEEF finisce nei suoi puntatori. Mi congratulo con il ragazzo che per primo ha pensato di utilizzare il valore DEADBEEF. È intelligente in molti modi.
Per quanto riguarda i motivi pratici, in primo luogo, è più evidente in un dump della memoria esadecimale perché in realtà scrive parole anziché valori esadecimali casuali.
In secondo luogo, se il valore finisce in un puntatore, è più probabile che induca un errore di memoria fuori intervallo. Un indirizzo di DEADBEEF era fuori dalla gamma di indirizzi dei sistemi (stiamo parlando di sistemi del secolo scorso ora) indipendentemente dall'endian del sistema.
In terzo luogo, è più probabile che induca un errore sui sistemi che richiedono anche valori di puntatore limite per l'accesso ai dati a 16/32/64 bit. È più probabile che il valore si guasti perché entrambi i valori a 16 bit (DEAD, BEEF) sono dispari.