• [^] # Re: lapin compris

    Posté par (site web personnel) . En réponse au journal HWA : accéder au matériel autrement. Évalué à 1.

    Tu n'as toujours pas compris l'usage de "inline".

    Inline demande l'inclusion dans le code objet quand c'est possible la fonction est toujours "extern" par défaut. Donc, en plus de son inclusion dans le code du fichier .c en cours, il y a une version de la fonction qui est appelable de l'extérieur depuis un autre .o. Le symbole de la fonction est présent et trouvable par le linker.

    Aujourd'hui, les linker sont capable d'enlever le code non utilisé dans les .o. Mais c'est assez rare.

    De plus, si tu utilises 2 fichiers .c que tu compiles avec un header contenant la même fonction inline foo (), les 2 symboles existent, et le linker va sortir en erreur. Pour masquer au linker, les 2 symboles, la fonction doit être marqué comme static.

    Il suffit que tu face une démo utilisant 2 fichiers .c utilisant ton ".h", tu le verra par toi même.

    "La première sécurité est la liberté"