J'ai toujours été étonné comment les fournisseurs de logiciels peuvent expédier leur application ou jeu, et plus tard fournir un ensemble différent d'exécutables qui changent les comportements de la construction précédente. Comment cela est-il fait? L'application d'origine et le correctif doivent-ils respecter une règle quelconque? Ou le correctif rampe-t-il dans l'exécutable d'origine et modifie-t-il ses informations d'assemblage? Cela nécessiterait-il une connaissance du fichier binaire au niveau de l'octet?De quelles connaissances avez-vous besoin pour créer un correctif pour votre jeu ou application?
Répondre
Il y a deux méthodes principales que j'ai vues. De nombreux programmes sont composés d'un certain nombre de parties plus petites qui sont chargées dynamiquement au moment de l'exécution, souvent ces fichiers sont simplement remplacés par des versions plus récentes. Puisque les mises à jour affectent souvent un nombre relativement faible de ces fichiers, le correctif peut être un petit sous-ensemble de l'application entière. L'autre méthode, que j'ai vu utilisée avec des applications monolithiques plus grandes, consiste à changer le code exécutable en utilisant une sorte de "diff binaire". L'un des inconvénients de cette approche est qu'il est plus difficile de prendre en charge la mise à niveau vers une nouvelle version à partir d'une version antérieure à plusieurs révisions sans avoir à effectuer chaque mise à jour incrémentielle.
Je pense que la plupart du temps, les "correctifs" ne sont que quelques fichiers de remplacement.
Il est cependant possible de comparer deux fichiers binaires, de déterminer leurs différences et de créer un ensemble de commandes d'édition qui vont changer l'une dans l'autre. L'utilitaire Unix "diff" peut le faire pour les fichiers texte, par exemple.
- 1. Identification des fichiers pour un correctif/correctif
- 2. Comment créer un sol pour un jeu?
- 3. TortoiseHg Application d'un correctif
- 4. Demande de mémoire pour votre application
- 5. vérifier un correctif logiciel pour WMEncoder est installé ou non
- 6. Quelles sont les connaissances de base requises pour un développeur Perl?
- 7. Besoin d'aide pour créer un tableau d'objets
- 8. Bouclage T-SQL pour créer un jeu d'enregistrements
- 9. Quelles sont les étapes pour créer un 'ensemble exécutable'
- 10. wxPython ou pygame pour un simple jeu de cartes?
- 11. J'ai besoin d'aide pour créer un système de modification dans une application Facebook
- 12. Besoin de créer MSI pour SourceForge PDFCreator
- 13. Besoin d'aide pour créer un fichier de paramètres
- 14. Architecture de serveur pour un jeu multijoueur?
- 15. Besoin d'aide pour créer un fichier .jar en utilisant NetBeans
- 16. Quelles sont les approches pour écrire une application d'horloge simple?
- 17. Quelle langue/cadre dois-je utiliser pour créer une application Facebook (jeu vidéo)?
- 18. créer un fichier .project pour une application flexible
- 19. Refactorisation; créer des pseudo-primitives pour votre domaine d'application
- 20. Quelle bibliothèque/code de sauvegarde utilisez-vous pour votre jeu de données (fichiers sur disque)?
- 21. Pouvez-vous utiliser tar pour appliquer un correctif à une application Web existante?
- 22. Existe-t-il un logiciel gratuit pour créer des fichiers d'aide Windows pour votre programme?
- 23. Les moteurs de jeu 3D pour Ruby ou Python?
- 24. Créer un jeu web, quelle technologie utiliser?
- 25. Que dois-je besoin de développer un jeu pour la Xbox 360
- 26. Quelles sont les fonctionnalités linguistiques requises dans un langage de programmation pour créer un compilateur?
- 27. Api pour allumer votre ordinateur
- 28. Good Script de base de connaissances
- 29. Comment créer un réseau virtuel pour une application
- 30. Créer un certificat pour une application cliente dans .NET