veryLe 05/06/2006 à 23:58
Bha a priori, à une réafectation près des labels utilisés, on peut (sauf peut-être cas pathologiques ) si la somme (du nombre de labels utilsés par chaque programme) est inférieur ou égal au nombre de labels maxiamls-le nombre de programmes.
Pour les cas pathologiques je pense à:
- rétro-imbrication des programmes
- problèmes de taille-archivage: Si la taille totale de l'enemble de programme et la taille maximal des variables utilisées par les programmes est supérieur à la mémoir vive disponible. (ou à 90% pour fixer une limite raisonable). Alors que pour palier à ça, certains archives les autres programmes lorsqu'il en lancent un, puis le programme d'après archive celui d'avant, qui désarchive celui d'après, etc.. (ou fonctionement similaire qui fait qu'en permanenc une partie des programmes est archivée)
-Self modifing code grâce à l'appel des programmes (/librairies) assembleur. C'est sûrement un peu tordu de faire ça en basic. A une modification près du programme assembleur (l'adresse du programme étant remplacé par celle du label) qui me parait non-trivial, ça doit être resoluble.
mais il y a peut-être d'autres cas auquels je n'ai pas pensés.