oh puree, tu sens la HP38/48 comme un troll sent le chat mort a 10 bornes ... :)
Bah quoi ? :-) De toute façon, le Saturn avec ses registres 64 bits, tous ses champs de registres, ses calculs qui peuvent se faire indifféremment en binaire ou en décimal, ça roxors des grand-mères ours.
Et AMHA, c est sur les scripts que c est le plus dur
En fait, je pensais tout simplement aux commandes du type eval(str), ou str est une chaîne de caractère à évaluer. Je pense que tout langage de script possède ce genre de fonction. Enfin en tout cas, de mémoire, pour les langages "de script" que j'ai déjà fréquenté, ça existe : javascript, php, camllight, bash.
Donc, ce qu'on peut faire, c'est écrire le code qui change dans un fichier d'include. Au lancement du programme, on inclut ce fichier. Par contre, si le programme s'automodifie en cours d'exécution, il va falloir utiliser le eval(str) dont j'ai parlé, tout en ayant sauvegardé le contenu de la variable str dans le fichier d'include, pour l'utiliser à la prochaine exécution.
Pour les langages compilés, il me semble très difficile de modifier le fichier exécutable directement. Par contre, on peut théoriquement écrire à la volée une bibliothèque partagée qu'on charge/décharge sur demande.
[^] # Re: Re:
Posté par kd . En réponse au message code automodifiable. Évalué à 2.
Bah quoi ? :-) De toute façon, le Saturn avec ses registres 64 bits, tous ses champs de registres, ses calculs qui peuvent se faire indifféremment en binaire ou en décimal, ça roxors des grand-mères ours.
Et AMHA, c est sur les scripts que c est le plus dur
En fait, je pensais tout simplement aux commandes du type eval(str), ou str est une chaîne de caractère à évaluer. Je pense que tout langage de script possède ce genre de fonction. Enfin en tout cas, de mémoire, pour les langages "de script" que j'ai déjà fréquenté, ça existe : javascript, php, camllight, bash.
Donc, ce qu'on peut faire, c'est écrire le code qui change dans un fichier d'include. Au lancement du programme, on inclut ce fichier. Par contre, si le programme s'automodifie en cours d'exécution, il va falloir utiliser le eval(str) dont j'ai parlé, tout en ayant sauvegardé le contenu de la variable str dans le fichier d'include, pour l'utiliser à la prochaine exécution.
Pour les langages compilés, il me semble très difficile de modifier le fichier exécutable directement. Par contre, on peut théoriquement écrire à la volée une bibliothèque partagée qu'on charge/décharge sur demande.