Bonjour à tous !
Je suis en train de réaliser un petit programme basé sur une architecture de plugin. Pour le moment mon programme est capable de charger dynamiquement des .so avec le classique dlopen.
Ceci fonctionne parfaitement.
Mais je suis pour le moment limité car je ne charge les données que depuis des fichiers. Hors je souhaiterais pouvoir charger une lib depuis une zone mémoire (en fait j'utilise gsoap et des services web qui doivent me transmettre les libs par le net). Je reçois donc les libs dans un buffer mais je n'ai pas trouvé le moyen de la charger en tant que lib et je ne souhaite pas écrire sur le dur et charger le fichier (simplement car c'est dans le cas d'applications distribuées dont les libs proviennent uniquement du serveur)
Est-ce possible ? Et si oui comment ?
Merci d'avance pour toute aide !
# cramfs ?
Posté par Alex . Évalué à 2.
Tu peux peut être essayer de faire un ramdisk : une partition en ram, tu pourras y écrire tes libs, et utiliser dlopen de la même manière que tu ne le fais maintenant
un mini-howto :
http://www.vanemery.com/Linux/Ramdisk/ramdisk.html
[^] # Re: pas cramfs
Posté par Alex . Évalué à 2.
# mmap ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: mmap ?
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
boulot que fait dlopen.
il y a aussi la gestion des dependances dynamiques...
Amha la solution la plus simple et la plus propre est de stocker la libraire dans un
dossier temporaire....
[^] # Re: mmap ?
Posté par CrEv (site web personnel) . Évalué à 2.
merci pour les solutions types mmap ou ramdisk mais elles ne sont pas envisageables. Je risque déjà d'avoir des problèmes lors de l'écriture de fichiers temporaires (mon code s'exécute dans un navigateur) alors monter des fichiers en ram ou autre... même pas la peine d'y penser ;)
# langage de script
Posté par Mildred (site web personnel) . Évalué à 1.
Un langage de script léger et permettant de faire facilement une sandbox: lua http://lua.org
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.