Linkage faible/weak linking : je n'y arrive pas !
Chacha
Membre
Salut,
À cette adresse : http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html, on trouve l'exemple de code suivant :
Et bien même en faisant attention à utiliser un MACOSX_DEPLOYMENT_TARGET à 10.3 ou 10.4, ça ne linke pas (undefined symbol _ MyWeakLinkedFunction). Ai-je oublié quelque chose ?
+
Chacha
À cette adresse : http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html, on trouve l'exemple de code suivant :
<br />extern int MyWeakLinkedFunction() __attribute__((weak_import));<br /><br />int main()<br />{<br /> int result = 0;<br /> <br /> if (MyWeakLinkedFunction != NULL)<br /> {<br /> result = MyWeakLinkedFunction();<br /> }<br /> <br /> return result;<br />}<br />
Et bien même en faisant attention à utiliser un MACOSX_DEPLOYMENT_TARGET à 10.3 ou 10.4, ça ne linke pas (undefined symbol _ MyWeakLinkedFunction). Ai-je oublié quelque chose ?
+
Chacha
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Nulle part; le but est de tester si une fonction existe avant de l'utiliser. Là c'est un test avec une fonction qui n'existe pas.
Alors c'est normalÂ
Il faut que la fonction appartienne à un Framework où elle n'existe pas forcément en fonction de la version...
Mais il faut qu'elle existe tout de même au niveau de l'environnement de compilation.
Alors là je ne comprends pas. Si elle n'existe pas, elle n'existe pas, non ?
Voir ce que j'ai ajouté au dessus (j'avais oublié de dire le plus important)... Il faut qu'elle existe au niveau de l'environnement de compilation.Â
Ok merci.
Je trouve ça bizarre... en même temps je n'ai que de faibles connaissances en linkage, namespaces, chargement dynamique et problématiques associées.
+
Chacha
Peut-être que la définition suffit...
Essaie d'ajouter à ton test :
Edit : non, apparemment ça ne suffit pas au linker...