37Fermer39
andoh_wilfriedLe 17/10/2009 à 14:24
j'en voulais un tout fait, mais bon ça me dérange pas de recoder ça.
En fait j'ai quasi finit la parti Php site entiere modulable à partir d'une DataBase, je peaufine les outils.

Sinon revenons au sujet.

J'ai eu une idée que je voudrais dvlper mais je voudrais etre sure que ce soit faisable :

Créer un système de DLL (par encapsulant de fonction C/ASM dans un format perso)


Voici les questions que je me pose ?
- peut-on exécuter directement le code d'un programme C en pointant directement dans le programme ?
- si oui, où doit-on pointer ? (peut-être à la fin du fichier  comme cela se fait habituellement)
- quel fonction de TIGCC utilise-t-on pour cela ?



Voici comment je vois le système de DLL :
- une DLL est une fonction C/ASM encapsulée dans un format perso
- la librairie charge les DLL du répertoire des DLL et les vérouilles
- une table [nom_DLL, ptr_DLL] est crée pour un accès rapide au DLL
- la librairie propose 2 modes d'appels : run_DLL et run_PROG
- la librairie lorsqu'elle appelle une DLL, dépose au sommet de la pile l'address de la structure ARGUMENTS *ptr_ARG qui est bien sur verrouillée
- la DLL doit est compilé avec la structure ARGUMENTS  et déclare une variable ARGUMENTS  *ptr_ARG tel que  
    argptr = top_estack;  prt_ARG = (ARGUMENTS   *)GetIntArg(argptr );
- la DLL efface l'addresse du pointeur sur ARGUMENTS en faisant top_estack = argptr;
- la DLL s'exécute en utilisant les ptr_ARG pour acceder aux arguments et  peut retourner son résultat sur la pile



Qu'en pensez-vous ?