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 :

Pb de compilation


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut Pb de compilation
    Bonjour,

    J'ai un problème assez complexe ( pour moi ) pour lequel je ne trouve pas de solution.

    Je voudrais créer un fichier compilier contenant un tableau rempli. J'ai un fichier contenant des données ( par exemple des char ) et je voudrais créer un tableau contenant toutes ces données et compiler un programme avec un bout de code et ce tableau rempli de données.
    Je ne veux pas créer le tableau à l'execution du programme mais bien l'avoir dans le code compiler.

    J'espère etre assez clair et si vous avez une solution ca serait idéal.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 36
    Par défaut
    Citation Envoyé par Xhéras
    J'espère etre assez clair et si vous avez une solution ca serait idéal.
    Pas trop justement

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Je pense que ceci devrait marcher:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /* Dans une fonction : avec static */
    static const char tab[]="abcdef";
    /* En variable globale : avec ou sans static, selon linkage */
    const int entiers[]={1,2,3,4,5,6};
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Par défaut
    Citation Envoyé par Médinoc
    Je pense que ceci devrait marcher:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /* Dans une fonction : avec static */
    static const char tab[]="abcdef";
    /* En variable globale : avec ou sans static, selon linkage */
    const int entiers[]={1,2,3,4,5,6};
    cette solution fonction si tu connais les données à rentrer dans le tableau mais la elles ne sont pas connues elles dans un fichier ( la taille du fichier est de l'ordre du Mo, et il peut changer d'une compilation à une autre alors le taper à la main me semble pas viable ).

    Je vais essayer d'etre plus clair :
    J' ai un ensemble de données contenues dans un fichier.
    J'ai un programme executable qui utilise un tableau ( tab )contenant les données du fichier.
    Je voudrais que lors de la compilation de mon programme tab contiennent deja les données du fichier de facon à n'avoir qu'un seul fichier exe contenant deja les données.

    Je ne veux pas que mon programme charge les données du fichier dans tab à l'execution.

    Est ce plus claire ??

  5. #5
    Membre chevronné
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Par défaut
    Hello,

    Citation Envoyé par Xhéras
    cette solution fonction si tu connais les données à rentrer dans le tableau mais la elles ne sont pas connues elles dans un fichier ( la taille du fichier est de l'ordre du Mo, et il peut changer d'une compilation à une autre alors le taper à la main me semble pas viable ).
    C'est le St-Esprit qui transmet les données au programme, ou à défaut la dimension nécessaire pour ledit tableau ? Quand on veut charger des données à partir d'un fichier en C, il faut bien l'ouvrir le fichier, donc d'être en exécution.

    Citation Envoyé par Xhéras

    Je vais essayer d'etre plus clair :
    J' ai un ensemble de données contenues dans un fichier.
    OK, comment faut-il lire le fichier, sous forrme textuelle, binaire ?

    Citation Envoyé par Xhéras
    J'ai un programme executable qui utilise un tableau ( tab )contenant les données du fichier.
    OK.

    Citation Envoyé par Xhéras
    Je voudrais que lors de la compilation de mon programme tab contiennent deja les données du fichier de facon à n'avoir qu'un seul fichier exe contenant deja les données.
    Ce n'est pas possible en C, il faut faire un traitement de précompilation avant, i.e. générer le tableau (et modifier les fichiers C nécessaires) en lisant le fichier avec un moyen autre que le langage C avant de lancer la compilation. En même temps, je ne comprend pas du tout la motivation : "de façon à n'avoir qu'un seul fichier exe contenant 'déjà' les données" ??

    Citation Envoyé par Xhéras
    Je ne veux pas que mon programme charge les données du fichier dans tab à l'execution.
    Pourquoi ?

    Citation Envoyé par Xhéras
    Est ce plus claire ??
    Toujours flou pour moi.

    A+

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Dans ce cas, si tu es sous Windows, tu peux faire de ce fichier une ressource pour qu'il soit intégré à l'exécutable, mais bon, il faudra toujours faire appel à des fonctions de chargement pour y avoir accès.

    Sinon, tu écris un programme de traduction binaire->quelque_chose_de_compilable, car je ne crois pas que gcc ou Visual possèdent une option pour faire directement d'un fichier une zone de données statiques.
    (Mais je peux me tromper)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Xhéras
    Je voudrais créer un fichier compilier contenant un tableau rempli. J'ai un fichier contenant des données ( par exemple des char ) et je voudrais créer un tableau contenant toutes ces données et compiler un programme avec un bout de code et ce tableau rempli de données.
    Je ne veux pas créer le tableau à l'execution du programme mais bien l'avoir dans le code compiler.
    Il faut générer du code source C à partir du fichier de données et ensuite compiler le ficher généré. Rien de bien difficile.

    Fait de ton mieux et poste ton code.

Discussions similaires

  1. Réponses: 15
    Dernier message: 10/10/2002, 19h19
  2. [Installation] Borland Compiler 5.5 sous XP
    Par Ligey dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 28/09/2002, 22h45
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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