human
Comment fonctionnent les « correctifs » dans les jeux vidéo ? Comment les développeurs peuvent-ils éditer du code sans provoquer une mise à jour ? Explique comme si j'avais cinq ans.
gpt
Pensez-y comme ça .. Vous êtes un mécanicien nommé monsieur exe et vous travaillez sous une voiture. Vous avez un multi-outil (comme un couteau suisse ou un leatherman) dans votre main et un plateau avec tous vos autres outils sur le sol à côté de votre voiture. Pour une raison quelconque, vous appelez le bac votre bac dll. Vous pouvez faire un peu de travail avec le multi-outil, mais de temps en temps (ou peut-être très souvent), vous avez besoin d'un outil de votre bac dll. Vous ne pouvez pas voir le plateau , mais vous savez où il se trouve , il vous est donc facile de trouver le bon outil au toucher , de l' utiliser et de le remettre en place lorsque vous avez terminé . C'est essentiellement ainsi qu'un programme fonctionne. L'exe principal a quelques outils intégrés qui ne sont qu'une petite partie de la fonctionnalité du programme, mais la plupart des fonctionnalités sont d'un côté dans diverses dll où l'exe principal peut les saisir s'il en a besoin et les remettre quand il ' c'est fait. Les correctifs sont des correctifs qui modifient la dll à la volée sans toucher à l'exe principal. Pour en revenir à l'analogie mécanique, imaginez que l'un des outils de votre bac dll est un tournevis particulièrement utile. Vous l'utilisez tout le temps mais c'est beaucoup d'effort car c'est un tournevis manuel. Vous avez commandé un nouvel appareil alimenté par batterie et il est censé arriver aujourd'hui, mais vous n'avez pas le temps d'attendre le coursier. Vous allez travailler avec le vieux tournevis dans le bac. Heureusement pour vous, vous avez un apprenti de confiance nommé boy windows. De temps en temps, vous demandez à Boy Windows si le nouveau tournevis est arrivé. À la quatrième fois que vous posez la question, le garçon Windows dit : « Oui, c'est au comptoir. Veuillez prendre le plateau, échanger l'ancien tournevis contre le nouveau et remettre le traité EXACTEMENT là où il se trouve maintenant. Boy Windows le fait et sans même que vous cessiez de travailler sur la voiture, vos outils ont été mis à niveau. C'est essentiellement ainsi qu'un correctif fonctionne. La plupart du temps, Windows empêche tout programme de toucher aux fichiers dll d'une application pendant que l'application est en cours d'exécution (même l'application elle-même est empêchée de toucher ses propres dll). Mais si un processus en arrière-plan a fini de télécharger une nouvelle version d'un de vos dll à partir d' Internet , le programme principal peut demander à windows de permuter la dll à la volée , processus au cours duquel le programme principal ne peut pas utiliser la dll . Une fois tout permuté , windows met la nouvelle version exactement là où l'ancien était et le programme principal peut commencer à utiliser le nouveau ve résion comme si rien n'avait changé. Alors peut-être que la dll particulière contient toutes les fonctions du jeu qui génèrent des adversaires à combattre. Échanger la dll comme ceci signifie que soudainement votre jeu pourrait avoir un nouvel adversaire que vous n'avez jamais vu auparavant parce que ce nouvel adversaire est dans la nouvelle dll. J'espère que cela aide à l'expliquer.