Voilà j'ai besoin d'appeller des fonctions d'une DLL quelconque (qui peut changer à l'exécution). Grand pb. s'il en est.
Donc mon idée est d'allouer à l'exécution une zone mémoire exécutable
et d'y écrire (à la brutos) les prologues & épilogues ASM (en utilisant un pointeur byte).
En gros, je veux m'affranchir de générer du byte code dans un fichier, faire une édition de lien, lancer un autre exécutable.
Est-ce que ma méthode est viable ? Est-ce que l'on peut faire mieux ? Est-ce que je risque des "General Protection Fault" (comment rendre mon code plus sur ?).
Est-ce que cela posera des pbs. avec des technos plus évoluées comme C++ mangling, COM+, exceptions (C++, structurées), ... Quand est-il des calling conventions, ... ?
A noter que j'ai sous la main une modélisation des prototypes des fonctions de la DLL (dont je connais le nb. de params, ref & value passing, types, ...).
Partager