47 votes

Que signifie « EXPORT_SYMBOL » dans le code du noyau Linux ?

d’ici

Je ne sais pas ce que cela signifie et pourquoi cela est utilisé. J’ai essayé de chercher à ce sujet, mais je n’en comprenais pas le sens.

47voto

cnicutar Points 98451

Il rend un symbole accessible aux modules chargés dynamiquement (à condition que lesdits modules ajoutent une `` déclaration).

Il n’y a pas si longtemps, quelqu’un a demandé comment l’utiliser.

6voto

Andrew Falanga Points 1008

Ce n’est pas une réponse en soi, mais une démonstration, comme promis dans mon commentaire, que les symboles exportés ne sont pas tenus d’être non statiques. Les 2 modules ci-dessous le démontrent :

Et le deuxième module

Ceux-ci ont été testés sur CentOS 6 et CentOS 7: noyaux 2.6.32 et 3.10 (respectivement). Le chargement de mod1.ko, puis de mod2.ko entraînera l’impression de la valeur transmise à mod1_exp_func() dans les tampons du journal du noyau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X