Je fais beaucoup de programmation sous Linux et j'utilise l'attribut visibility pour définir si un symbole est visible ou caché dans l'objet partagé. Simplement pour rendre les choses plus claires: si un symbole est visible, il sera accessible à l'extérieur (quelqu'un qui se connecte à l'objet partagé), s'il est caché, il est censé être utilisé uniquement en interne. Sur les fenêtres, cela semble fonctionner un peu différemment, cela fonctionne avec l'export (le symbole est défini ici dans l'objet partagé et sera accessible par quelqu'un qui s'y connecte) et l'importation (ici je suis en train de créer un lien avec un objet partagé). le symbole y est exporté) symboles. Mais je ne pouvais pas trouver un moyen de dire au compilateur de ne pas exporter un symbole, car il doit être utilisé uniquement ici, c'est-à-dire, si quelqu'un établit un lien avec lui, une erreur de lien est attendue.Visibilité des symboles sous Windows
Ma question est de savoir si je peux définir un symbole comme "caché" (comme dans gcc de Linux) et comment. En outre, toute cette visibilité dans le sujet Windows est un peu floue pour moi et je cherchais d'autres liens de lecture pour mieux comprendre comment tout fonctionne.
Pas un développeur Windows, mais s'il n'est pas exporté ('dllexport'), n'est-il pas * invisible * par défaut? –
@ DavidRodríguez-dribeas Je n'ai aucune expérience avec le studio visuel (commençant à faire du code compatible avec msvc pour l'instant), mais sur mingw il semble être visible par défaut. –
http://gcc.gnu.org/wiki/Visibility montre les deux façons. –