Retourner aux forums || Retourner au forum general.cherche-logiciel

general.cherche-logiciel : Langage C et pollution de l'espace des noms

Posté par Nicolas Boulay () le 28 novembre 2007
0
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 ?

> Lire le message (1 commentaire, moyenne: 5).  

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.

libtool

Posté par imalip (page perso, ) le 28/11/2007 à 11:23. (lien). É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.

--
"While a monkey can be a manager, it takes a human to be an engineer" Erik Zapletal

Revenir en haut de page || Retourner aux forums || Retourner au forum general.cherche-logiciel