Que signifie le mot «bœuf mort»? Je l'ai lu à partir d'une question d'entrevue. Cela a quelque chose à voir avec ipv6. J'ai pensé que cela pourrait être un nombre hexadécimal aléatoire utilisé pour des exemples, comme "Le renard brun rapide saute par-dessus le chien paresseux".
Ma compréhension est-elle correcte? Ou cela a-t-il une signification plus significative?
Réponses:
http://en.wikipedia.org/wiki/Hexspeak
http://www.urbandictionary.com/define.php?term=dead%3Abeef
"Dead beef" est une phrase très populaire en programmation, car elle est construite uniquement à partir des lettres af, qui sont utilisées en notation hexadécimale. Les deux points au début et au milieu de la phrase font de cette phrase une adresse IPv6 (théoriquement) valide.
la source
C'est une expression inventée utilisant uniquement les lettres AF, souvent utilisées lorsqu'un nombre hexadécimal reconnaissable est requis. Certains systèmes l'utilisent à des fins diverses telles que l'affichage de la mémoire qui a été libérée et ne doit plus être référencée. Dans un débogueur, cette valeur peut être le signe que vous avez commis une erreur. De Wikipedia :
Le nombre 0xDEADBEEF est égal au nombre décimal le moins reconnaissable 3735928559 (non signé) ou -559038737 (signé).
la source
La valeur de 0xDEADBEEF présente trois avantages pratiques, principalement pour les systèmes plus anciens. Les vieux hacks assembleur / C, comme moi, l'utilisaient pour remplir la mémoire non allouée afin de résoudre les problèmes de mémoire. En outre, c'est un jeu de mots du terme d'argot «viande morte». Le programmeur est de la viande morte si DEADBEEF se retrouve dans ses pointeurs. Je félicite le gars qui a d'abord pensé à utiliser la valeur DEADBEEF. C'est intelligent à bien des égards.
Pour des raisons pratiques, tout d'abord, il est plus visible dans un vidage de mémoire hexadécimal car il épelle en fait des mots par opposition à des valeurs hexadécimales aléatoires.
Deuxièmement, si la valeur se retrouve dans un pointeur, il est plus probable qu'elle induise un défaut de mémoire hors plage. Une adresse de DEADBEEF était hors de la plage d'adresses des systèmes (nous parlons maintenant des systèmes du siècle dernier) quel que soit l'extrémité du système.
Troisièmement, il est plus susceptible d'induire une erreur sur les systèmes qui nécessitent même des valeurs de pointeur de limite pour accéder aux données 16/32/64 bits. La valeur est plus susceptible d'être défaillante car les deux valeurs de 16 bits (DEAD, BEEF) sont impaires.
la source
Puisque les adresses IPv6 sont écrites en notation hexadécimale, vous pouvez utiliser "Hexspeak" (nombres 0-9 et lettres af) dans les adresses.
Il y a un certain nombre de mots que vous pouvez utiliser comme adresses valides pour mieux les momoriser.
Si vous
ping6 www.facebook.com -n
obtenez quelque chose comme "2a03: 2880: f01c: 601: face: b00c : 0: 1".Voici quelques exemples:
la source
Il est également utilisé à des fins de débogage.
Voici une liste pratique de certaines de ces valeurs:
http://en.wikipedia.org/wiki/Magic_number_%28programming%29#Magic_debug_values
la source
Les gens l'utilisent normalement pour indiquer des valeurs factices. Je pense qu'il était principalement utilisé avant l'idée des pointeurs NULL.
la source
C'est un nombre magique utilisé à divers endroits car il se trouve également être lisible en anglais, ce qui le distingue. Il y a une liste partielle sur Wikipedia .
la source
Il a été utilisé comme modèle pour stocker en mémoire une série d'octets hexadécimaux (0xde, 0xad, 0xbe, 0xef). Vous pouvez voir si la mémoire a été corrompue en raison d'une panne matérielle, des dépassements de tampon, etc.
la source
0xDEADBEEF est normalement rempli dans les tableaux de mémoire de sorte que toute exception lorsqu'elle est mal pointée ou pour connaître le tampon sur les exécutions, etc.,
la source