Forum général.cherche-logiciel Langage C et pollution de l'espace des noms

Posté par  (site web personnel) .
Étiquettes : aucune
-1
28
nov.
2007
Si on compile plusieurs fichiers C cote a cote, chaque fichier C apporte ses symboles.

On peut contourner cela, en definissant les fonctions comme "static" ou "static inline". Mais cela ne concerne pas les fonctions qui sont internes a une bibliotheque mais disperse dans plusieurs fichiers .c.

Si on veut eviter la pollution de noms de l'application entiere, le seul moyen serait de prefixer toutes ses fonctions, meme celles purement internes ?

Existe il un moyen standard pour nettoyer les symboles que l'on n'a pas besoin d'exporter dans une library ?
  • # libtool

    Posté par  . Évalué à 5.

    libtool a une option qui permet de faire ca.

    Perso je m'en sers pour les modules Apache, ou je n'ai qu'un seul symbol a exporter, et je passe par exemple
    -export-symbols-regex "audiotranscode_module"

    en LDFLAG.

    Si tu veux faire du tres précis, je recommande l'option `-export-symbols symfile', qui permet de définir dans un fichier la liste des symboles a exporter.

Suivre le flux des commentaires

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