Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Programmation.c

Programmation.c : Ou sont définis les répertoires standard pour #include <> ?

Posté par Obsidian () le 24 septembre 2004
Bonjour à tous !

Je viens d'obtenir un serveur de développement tout neuf pour moi et mon équipe. A cette occasion, j'ai été chercher la dernière version de gcc et des outils qui tournent autour, et l'ai compilé ! Le tout fonctionne bien mais, étant donné qu'il existe une version « officielle » de gcc sur cette machine et une autre en test, il reste une chose sur laquelle je sèche un peu:

Ou est définie la liste des répertoires visités par #include lorsque ni paramètre -I ni variable d'environnement appropriée ne sont déclarés ?

Sont-ils codés en dur dans le binaire de gcc ? Se trouvent-ils quelque part dans /usr/lib/gcc (pas trouvé), un tunnel interdimensionnel est-il ouvert pour accéder à cette information ?

Merci d'avance à tous ...

> Lire le message (9 commentaires, moyenne: 2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Position

Posté par CoinKoin () le 24/09/2004 à 15:31. (lien). Évalué à 2.

Je ne sais pas où c'est codé dans le code de gcc, mais ces fichiers et répertoires sont dans /usr/include .

C'est un peu idiot de devoir mettre un titre pour un commentaire non ?

Posté par Frédéric Lopez () le 25/09/2004 à 11:35. (lien). Évalué à 3.

> Ou est définie la liste des répertoires visités par #include lorsque
> ni paramètre -I ni variable d'environnement appropriée ne sont
> déclarés ?

La liste des répertoires visités par #include <> par défaut :
/usr/local/include
/usr/lib/gcc-lib/target/version/include
/usr/target/include
/usr/include

Lire le lien ci-après pour la signification de target et version.

La liste des répertoires visités par #include "" par défaut :
- dans le répertoire contenant le fichier
- puis dans les répertoires définis ci-dessus

Tout cela est défini dans le préprocesseur de GCC. Je pense que c'est codé "en dur" puisque certains paramètres ne sont connus qu'à la compilation (notamment version et target).

Voir : http://gcc.gnu.org/onlinedocs/gcc-3.0.2/cpp_2.html#SEC8(...)

Coup de gueule à la direction : non seulement je trouve idiot de devoir mettre un titre pour un commentaire, mais en plus je ne peux même pas faire afficher un mot entre un signe < et un signe >, alors que <> passe. Un comble pour un site dédié essentiellement à des informaticiens...

  • [^]Re: C'est un peu idiot de devoir mettre un titre pour un commentaire non

    Posté par fred point (page perso, ) le 25/09/2004 à 16:31. (lien). Évalué à 2.

    La convivialité s'arrête où commence la sécurité...

    Un peu comme ta liberté s'arrête là où commence celle des autres....

    ;)

    Sinon pour la réponse, j'ai pas mieux... par contre en faisant un strings sur gcc, libc.so.6, /lib/ld-linux.so.2 etc je trouve pas les chemins en dur... Donc si quelqu'un à la réponse, chui preneur !

    • [^]Re: C'est un peu idiot de devoir mettre un titre pour un commentaire non

      Posté par Frédéric Lopez () le 25/09/2004 à 19:33. (lien). Évalué à 1.

      > La convivialité s'arrête où commence la sécurité...

      Euh, moi pas comprendre ! Tu veux dire que permettre de saisir un texte entouré de < et > est un problème de sécurité potentiel ? C'est quand même bien embêtant pour publier du code C/C++ sur un forum...

      • [^]Re: C'est un peu idiot de devoir mettre un titre pour un commentaire non

        Posté par Obsidian () le 26/09/2004 à 00:38. (lien). Évalué à 2.

        Merci pour vos réponses.

        En ce qui concerne les caractères spéciaux, utiliser les mots-clés &lt; et &gt; devrait te permettre d'afficher tes <balises> correctement.

        Vala ...

      • [^]Re: C'est un peu idiot de devoir mettre un titre pour un commentaire non

        Posté par fred point (page perso, ) le 26/09/2004 à 11:33. (lien). Évalué à 1.

        >Tu veux dire que permettre de saisir un texte entouré de < et > est un problème de sécurité potentiel ?

        OUI
        => inclusion de javascript
        => inclusion de iframe
        etc...

        • [^]Re: C'est un peu idiot de devoir mettre un titre pour un commentaire non

          Posté par Frédéric Lopez () le 27/09/2004 à 15:06. (lien). Évalué à 3.

          Suffit de pas interpréter ce qui est compris entre < et >, par exemple en remplaçant au parsage ces caractères par < et >

          Je préférerais quand même que ce soit le serveur qui s'occupe de cette conversion plutôt que moi qui soit obligé de taper ces séquences à chaque fois. C'est quand même le boulot d'une machine ça...

          • [^]Re: C'est un peu idiot de devoir mettre un titre pour un commentaire non

            Posté par Obsidian () le 28/09/2004 à 20:08. (lien). Évalué à 2.

            Le meilleur endroit pour réclamer cela est encore le forum « linuxfr.idees », à mon avis, en donnant éventuellement en réference l'URL de cette entrée. Il n'est pas impossible que les développeurs pensent la même chose que toi et corrigent le parser, mais toutes ces corrections ont plus de chances d'être effectuées si elles sont centralisées en un seul et unique lieu ...

            • [^]Re: C'est un peu idiot de devoir mettre un titre pour un commentaire non

              Posté par Frédéric Lopez () le 29/09/2004 à 23:32. (lien). Évalué à 2.

              Merci pour l'idée, mais à part me faire brocarder, rien n'en est ressorti. Tant pis...

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.c