IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Sauvegarder une fonction en fichier


Sujet :

C++

  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut Sauvegarder une fonction en fichier
    Comment vous y prendriez-vous pour:
    1. sauvegarder sous forme de fichier (texte ou binaire) une fonction à partir d'un pointeur de fonction en mémoire dans un programme.
    2. charger cette même fonction à l'aide du nom du fichier dans lequel elle est stockée.

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Ce n'est pas trop une bonne idée de sauvegarder l'adresse de la fonction, donc je ferai une liste des fonctions sauvegardables, une std::map et je sauvegarde la clé associée à la fonction.

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Citation Envoyé par Miles Voir le message
    Ce n'est pas trop une bonne idée de sauvegarder l'adresse de la fonction, ...
    Tout-à-fait. L'idée est de sauvgarder la fonctionalité de la fonction plutôt que son adresse, mais à partir de l'adresse.

    As-tu déjà été en contact avec du code qui remplace du code dans du code? Moi pas, mais je sais que ça existe. C'est pour celà que je demande l'avis des experts.

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Prends une map, c'est tout, ça marche très bien (c'est en fait aussi la seule solution dans ton cas qui soit facile à mettre en oeuvre en 3 lignes).

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Citation Envoyé par Miles Voir le message
    Prends une map, c'est tout, ça marche très bien
    Je sais bien, mais le problème est que la fonction en question doit être purgée de la mémoire jusqu'à son utilisation. D'où la nécessité de sauvegarder/charger un fichier...

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Pas compris.

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    As-tu déjà été en contact avec du code qui remplace du code dans du code? Moi pas, mais je sais que ça existe. C'est pour celà que je demande l'avis des experts.
    Cela me semble une mauvaise idée. Le segment de code est maintenant protégé contre l'écriture sur les OS modernes pour des raisons de sécurité (création de code "malin" et "malintentionné" par des virus et autres bestioles).

    Je sais bien, mais le problème est que la fonction en question doit être purgée de la mémoire jusqu'à son utilisation. D'où la nécessité de sauvegarder/charger un fichier...
    Et pourquoi pas une fonction écrite dans une DLL (ou équivalent sous un autre OS). Cette DLL (ou équivalent) est ensuite chargée à la demande, la fonction exécutée au bon moment et ensuite la DLL (ou équivalent) peut être déchargée. Ainsi elle ne reste pas dans le code plus de temps que nécessaire.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Citation Envoyé par ram_0000 Voir le message
    Le segment de code est maintenant protégé contre l'écriture sur les OS modernes pour des raisons de sécurité ...
    C'est ça la réponse!

    Mon problème était de modifier une seule fonction existant dans un projet en développement sans avoir à le recompiler sans cesse car le client n'a pas de disponibilité et moi non plus.

    Je ne voulais pas avoir à développer de dll mais c'est inévitable il me semble.

    Merci de rappeler les ràgles de sécurité...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler une fonction du fichier parent
    Par tourdetour dans le forum Modules
    Réponses: 7
    Dernier message: 23/10/2014, 16h01
  2. Réponses: 0
    Dernier message: 07/10/2009, 14h03
  3. Réponses: 9
    Dernier message: 09/06/2008, 15h59
  4. Sauvegarder une liste de fichiers
    Par SesechXP dans le forum C#
    Réponses: 6
    Dernier message: 01/10/2007, 15h21
  5. Réponses: 1
    Dernier message: 24/05/2006, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo