inclusion de plusieurs entêtes par une seule directive C
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

inclusion de plusieurs entêtes par une seule directive C



  1. #1
    lahmed

    inclusion de plusieurs entêtes par une seule directive C


    ------

    Salut,
    Turbo C++ est l'IDE avec lequel je débute programmer en C. Il me permet d'inclure deux fichiers ou plus avec le syntaxe suivant:
    Code:
    #include <stdio.h><conio.h>
    Maintenant, je veux faire la même chose avec Dev-C++ mais je n'arrive pas à trouver l'astuce. C'est que mon but est de faire passer un nombre quelconque des fichiers à une bibliothèque qui les fait inclure elle même. Exemple:
    main.c
    Code:
    #define entete <stdio.h> <conio.h>
    #include "biblio.h"
    biblio.h
    Code:
    #include entete
    Peut quelqu'un m'aider...??

    -----

  2. #2
    Jack
    Modérateur

    Re : inclusion de plusieurs entêtes par une seule directive C

    c'est d'un compliqué ...
    Tu ne peux pas tout simplement mettre*
    #include <stdio.h>
    #include <conio.h>

    dans ton fichier biblio.h ?

    De plus ton truc ne peut pas marcher puisque biblio.h ne connait pas la définition de "entete"

  3. #3
    whoami

    Re : inclusion de plusieurs entêtes par une seule directive C

    Bonjour,

    Commence plutôt par prendre les bonnes habitudes :

    En standard, il y a 1 include par fichier à inclure.

    C'est si dur que ça d'écrire quelques caractères de plus, pour produire du code qui ne sera pas compatible ?

    Maintenant, si ça te gène vraiment de faire comme tout le monde, et si tu inclus toujours les mêmes fichiers, tu peux toujours créer un fichier
    Code:
    mes_includes.h
    qui contiendra quelque chose comme
    Code:
    #include <a.h>
    #include <b.h>
    #include <c.h>
    ...
    et tu n'auras qu'un include à faire dans ton programme.

    Avec pour inconvénient évident, que ça conduira probablement à inclure des fichiers qui ne sont pas nécessaires pour un programme donné.

    Mais c'est toi qui voit.

    Accessoirement, aussi bien Turbo C++ que Dev C++ sont des dinosaures, utilise un IDE plus récent, et surtout maintenu à jour.

    Il y a entre autres Code::Blocks.

  4. #4
    kwariz

    Re : inclusion de plusieurs entêtes par une seule directive C

    Citation Envoyé par lahmed Voir le message
    C'est que mon but est de faire passer un nombre quelconque des fichiers à une bibliothèque qui les fait inclure elle même.
    Bonsoir,
    ta demande m'intrigue. Indépendamment du fait que c'est incompatible avec la plupart des compilateurs actuels, je me demande pourquoi tu es amené à faire ça ?
    Si ta bibliothèque a besoin de ces includes alors tu ne dois pas dépendre d'un autre header pour les y inclure, et si elle n'en a pas besoin alors cela ne sert à rien de le faire ...
    Pourquoi crois-tu avoir besoin de faire ça ?

  5. A voir en vidéo sur Futura
  6. #5
    lahmed

    Re : inclusion de plusieurs entêtes par une seule directive C

    Merci bien pour vos réponses. Je suis amené à faire ça parce que je suis en train de rédiger quelques fichiers entêtes en C pour les utiliser en suite. J'ai eu besoin de faire passé un nombre quelconque des fichiers qui vérifient l’existence de certaines macros, pour les inclure dans ma bibliothèque au bon endroit après avoir y défini les macros. Enfin j'ai trouvé la solution en utilisant la directive pragma avec push_macro et pop_macro =) Voici le code:

    Exemple.c
    Code:
    #pragma push_macro("implements")
    #define implements <stdio.h>
    #pragma push_macro("implements")
    #define implements <stdarg.h>
    #pragma push_macro("implements")
    #define implements <malloc.h>
    #pragma push_macro("implements")
    
    #include "implement.h"
    implement.h
    Code:
    #pragma pop_macro("implements")
    #ifdef implements
    	#include implements
    	#include "implement.h" //inclusion récursive
    #endif

Discussions similaires

  1. Comment faire de plusieurs cables une seule prise ?
    Par invite6e82e29b dans le forum Électronique
    Réponses: 3
    Dernier message: 03/04/2012, 07h55
  2. Alimenter plusieurs sources via une seule alimentation
    Par invite0f631aa4 dans le forum Électronique
    Réponses: 1
    Dernier message: 10/05/2011, 09h40
  3. une seule webcam pour plusieurs applications
    Par nanotube dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 23/05/2010, 07h20
  4. Appeler un programme par une seule touche , par exemple F5
    Par chatelot16 dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 07/11/2009, 06h46
  5. Centraliser plusieurs adresses gmail sur une seule
    Par Franck dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 04/03/2009, 21h30