Je prévois d'écrire un programme, mais je suis coincé dans une énigme. Je ne veux pas commencer à écrire quelque chose et ensuite réécrire tout quand je découvre que mon programme n'est pas extensible. L'autre problème, c'est que je n'ai pas assez de connaissances en programmation pour savoir où commencer à concevoir mon programme afin qu'il soit extensible. J'ai fait quelques lectures sur les DLL (ou le chargement différé pour unix), le chargement dynamique, le chargement/le chargement de la bibliothèque d'exécution, etc. mais je n'arrive toujours pas à comprendre ce que je dois faire. Je vais donner un exemple d'exemple de programme, et si quelqu'un pouvait me guider dans la bonne direction pour apprendre quoi faire pour que mon plus gros programme puisse commencer, je serai extrêmement reconnaissant! Supposons que je crée un programme de console 'iAmDog' dans lequel vous pouvez taper des commandes, et le chien réagira en conséquence à la sortie de la console. Maintenant supposons quand je crée ce programme, le chien a seulement 1 commande, «aboyer» qui produit le «toit de toit» de sortie! Comment pourrais-je écrire ce programme de sorte que pendant que l'utilisateur exécute toujours le programme, je peux éditer une bibliothèque, ou coder quelque part ailleurs, pour ajouter une commande «assis» au répertoire des chiens.Apprentissage - Extensibilité: chargement dynamique et autres mises à jour logicielles non recompilées
Encore une fois, idéalement, mon plan est d'avoir sans temps d'arrêt ou aussi peu de temps d'arrêt que possible, tout en étant capable de coder les mises à jour de la fonctionnalité du programme en cours d'exécution.
Merci d'avoir lu!
Russell alias SgtPooki
Une raison particulière pour laquelle il doit être non-recompiler et pas simplement non-compiler? (I.e. Ruby) – Robert
Je demandais principalement sur le C++, j'aurais dû le préciser, mais j'espérais apprendre à le faire en C++ basé sur la façon dont les autres langages le font si rien ne venait à propos de C++. J'aime C++ =) – SgtPooki
Et après avoir appris plus au sujet de MySQL depuis l'affichage de ceci, je réalise que je devrais pouvoir accomplir quelque chose aussi simple que la commande et la production. Le programme vérifie alors les commandes dans la base de données au lieu de les avoir codées en dur ... mais cela le laisse très limité à juste [cout << getOutPutFor (userCommand); ] ou quelque chose de similaire .. – SgtPooki