human
Comment les ordinateurs « comprennent-ils » le code ? Je ne sais pas comment clarifier - je suppose que je suis juste curieux de savoir comment le texte/langage devient des commandes/calculs. etc . Si ce n'est pas assez précis, faites le moi savoir et j'essaierai de clarifier davantage. S'il vous plaît, expliquez-moi comme si j'avais cinq ans.
gpt
Le code n'est que du texte dans un fichier. Il suit les règles du langage telles que définies dans [ la théorie du langage formel ] ( URL_0 ) , ce qui signifie que chaque instruction de code est sans ambiguïté et contient d' autres propriétés qu'un programme informatique peut « analyser » et construire une représentation symbolique du code en mémoire . Cette représentation symbolique est mappée sur des fonctions qui représentent la relation entre le symbole et une instruction machine, appelée « opcode ». Ce programme s'appelle un compilateur, et c'est effectivement un traducteur. Il est lui-même programmé avec des règles pour bien choisir le bon opcode et les organiser de façon appropriée pour faire un programme. Qu'est-ce qu'un opcode, vraiment ? C'est un entier. Votre CPU a plusieurs entrées et sorties appelées registres, et quand on parle d'un CPU 64 bits, on parle de la taille de certains registres. Chacune des entrées et sorties ont des rôles spécifiques, et l'une d'entre elles est le registre d'instructions. Tout ce qu'un processeur peut faire , arithmétique , chargement , stockage , décalage , attente , signalisation , * peu importe * , chaque comportement est associé à un entier , et nous appelons cela un opcode . Ainsi, un programme est juste une série de numéros d'instruction, "faites l'instruction 1243, 8845, 3717...". Il y a des détails plus fins sur un exécutable, sur ce qui est stocké dans ce fichier où ; certaines d'entre elles sont des données, d'autres du code, et ces éléments doivent être alignés en mémoire sur certaines "limites"... Toutes sortes de détails doivent être pris en compte. Le compilateur sait faire tout cela. Il y a des choses appelées bibliothèques. C'est du code que quelqu'un d'autre a écrit. Microsoft a des bibliothèques pour dessiner des fenêtres et des widgets. Ce programme est chargé en mémoire et s'enregistre avec le système d'exploitation. Un autre programme démarre et dit « d'accord, je vais avoir besoin de la bibliothèque de fenêtres/widgets », et il reçoit un tableau indiquant où trouver les fonctions dont il a besoin. De cette façon , je n'ai pas besoin de construire un programme qui sache quoi que ce soit sur la façon dont les widgets sont réellement dessinés , je peux différer cela jusqu'à l' exécution .