÷ƒ’À; è TeX output 2004.03.04:1029‹ 6 ÿÿÿÿ žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ž’Ô ï color popŽŽ { ºâ ý ïhtml:ï html:ïhtml:ï html:Ÿ&ñ‘WMÍóú â
phvb8t¾Pr€¡ogram–êÏLibrar?°y“HO‘þÁWT‘ÿBOŽŸ!C–’ £Œßóú G®
phvb8t¿Da½°vid–ͽA.“WheelerŽŸ ‘€ ó?Á|‰
ptmr8t½Il–€ presente“HO¦gWTÑðO“per“programmatori“discute“come“utilizzare“librerie“di“programma“in“ambiente“Linux.Ž¤
‘€ Questo–€ include“librerie“statiche,“librerie“condiÀ vise“e“librerie“caricate“dinamicamente.Ž© ‘€ T¦graduzione–€ a“cura“di“Riccardo“V‘ÿfgianello“<ó‰š
pcrr8tÀr_vianello@toglimi.hotmail.com½>,“reÀ visione“a“cura“diŽ¡‘€ Alessio–€ Rolleri“<Àaroller@toglimi.libero.it½>.Ž¦Ÿ Ÿ#lŒ¿SommarioŽŸÛïcolor push gray 0ïhtml:ŸÈ»óª,«
ptmb8tÁ1.–€ IntrÑðoduzioneï html:ï color pop‘áïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:3ï html:ï color popŽ¤…ïcolor push gray 0ï!html:©áL2.–€ LibrÑðerie“staticheï html:ï color pop‘Ükïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï!html:4ï html:ï color popŽ¡ïcolor push gray 0ï!html:¦3.–€ LibrÑðerie“condiægviseï html:ï color popGõïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï!html:4ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ ½3.1.–€ Con™ŸvÙ enzioniï html:ï color popp³ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:5ï html:ï color popŽ£”ïcolor push gray 0ïhtml:©æl‘ 3.2.–€ Come“le“librerie“vÙ engono“utilizzateï html:ï color popÊïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:6ï html:ï color popŽŸ*8ïcolor push gray 0ïhtml:Ÿ
ÕÈ‘ 3.3.–€ V‘þã×ariabili“di“ambienteï html:ï color pop‘ ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:7ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 3.4.–€ Creare“una“libreria“condiÀ visaï html:ï color popsïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:9ï html:ï color popŽž8Pïcolor push gray 0ïhtml:ŸÇ°‘ 3.5.–€ Installare“ed“utilizzare“una“libreria“condiÀ visaï html:ï color pop‘ ¾ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:10ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 3.6.–€ Librerie“incompatibiliï html:ï color pops‰ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:11ï html:ï color popŽŸžïcolor push gray 0ïhtml:¤
ÕÈÁ4.–€ LibrÑðerie“caricate“dinamicamenteï html:ï color pop6-ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:13ï html:ï color popŽŸ…ïcolor push gray 0ïhtml:ŸáL‘ ½4.1.–€ dlopen()ï html:ï color pop‘Éïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:13ï html:ï color popŽ©*8ïcolor push gray 0ïhtml:¡‘ 4.2.–€ dlerror()ï html:ï color pop‘!aïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:14ï html:ï color popŽŸÊ8ïcolor push gray 0ïhtml:Ÿ5È‘ 4.3.–€ dlsym()ï html:ï color pop‘còïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:14ï html:ï color popŽ¦ïcolor push gray 0ïhtml:¡‘ 4.4.–€ dlclose()ï html:ï color pop‘²ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:15ï html:ï color popŽŸÊ8ïcolor push gray 0ï#html:Ÿ5È‘ 4.5.–€ Esempio“di“libreria“a“caricamento“dinamicoï html:ï color pop‘Oìïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï#html:15ï html:ï color popŽŸžïcolor push gray 0ïhtml:¡Á5.–€ Miscellaneaï html:ï color pop‘ócïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:16ï html:ï color popŽŸ…ïcolor push gray 0ïhtml:ŸáL‘ ½5.1.–€ Il“comando“nmï html:ï color popsSïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:16ï html:ï color popŽ£”ïcolor push gray 0ï!html:©æl‘ 5.2.–€ Le“funzioni“costruttore“e“distruttore“di“una“libreriaï html:ï color pop3Õïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï!html:17ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 5.3.–€ Le“librerie“condiÀ vise“possono“essere“scriptï html:ï color pop‘çïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:17ï html:ï color popŽ¤*8ïcolor push gray 0ï html:©
ÕÈ‘ 5.4.–€ V‘þã×ersione“dei“simboli“e“script“di“vÙ ersioneï html:ï color pop‘ œ«ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï html:18ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 5.5.–€ GNU“libtoolï html:ï color pop‘ ¸tïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:18ï html:ï color popŽž”ïcolor push gray 0ï!html:Ÿæl‘ 5.6.›€ Rimuo•Ù v“ere˜i˜simboli˜per˜risparmiare˜spazioï html:ï color pop6Kïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ˜ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï!html:18ï html:ï color popŽ¡ïcolor push gray 0ï"html:¦‘ 5.7.–€ EseÙ guibili“estremamente“piccoliï html:ï color popTóïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï"html:19ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 5.8.–€ C++“vs.“Cï html:ï color pop‘}ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:19ï html:ï color popŽ£8Pïcolor push gray 0ï"html:©Ç°‘ 5.9.–€ V‘þã×elocizzare“l'inizializzazione“di“codice“C++ï html:ï color pop‘)œïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï"html:19ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 5.10.–€ Linux“Standard“Base“(LSB)ï html:ï color pop‘úïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:20ï html:ï color popŽŸÊ8ïcolor push gray 0ï.html:Ÿ5È‘ 5.11.–€ Riunire“pi€ù“librerie“in“un'unica“libreriaï html:ï color pop1#ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ï.html:20ï html:ï color popŽŽŸ0 ºâïcolor push Black’Ô ï color popŽŽŒ‹ 6 * žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ž’Ô ï color popŽŽ { ºâ ý ïcolor push gray 0ïhtml:Ÿ
Á6.–€ Ulteriori“esempiï html:ï color pop‘ ÙÜïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:21ï html:ï color popŽŸnïcolor push gray 0ïhtml:Ÿ
øT‘ ½6.1.–€ File“libhello.cï html:ï color poppÞïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:21ï html:ï color popŽ£”ïcolor push gray 0ïhtml:©æl‘ 6.2.–€ File“libhello.hï html:ï color pop‘a~ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:21ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 6.3.–€ File“demo.cï html:ï color pop‘GÓïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:21ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 6.4.–€ File“script_staticï html:ï color pop‘ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:22ï html:ï color popŽ¤*8ïcolor push gray 0ïhtml:©
ÕÈ‘ 6.5.–€ File“script_sharedï html:ï color pop‘üïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:22ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 6.6.–€ File“demo_dynamic.cï html:ï color pop‘×Eïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:23ï html:ï color popŽ¡ïcolor push gray 0ïhtml:¦‘ 6.7.–€ File“script_dynamicï html:ï color pop‘Göïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:25ï html:ï color popŽŸžïcolor push gray 0ïhtml:¦Á7.–€ AltrÑðe“fšÀ onti“di“inf˜ormazioneï html:ï color pop‘ ø¥ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:25ï html:ï color popŽŸ…ïcolor push gray 0ïhtml:ŸáL8.–€ Copyright“e“licenzaï html:ï color pop‘;ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ“ïcolor push Black.ï color popŽ‘ ïcolor push gray 0ïhtml:26ï html:ï color popŽŽŸ0 ºâïcolor push Black’Ô ï color popŽŽŒ‹ 6 àý žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ž’Ô ï color popŽŽ { ºâ ý ïhtml:ï html:Ÿ
9óú ff
phvb8tÂ1.‘ ÈIntr¶JoduzioneŽŸaAïhtml:ï html:ŸÑò½Il–€ presente“HO¦gWTÑðO“per“programmatori“discute“come“creare“ed“utilizzare“librerie“di“programma“in“ambiente“LinuxŽ¤
utilizzando–€ l'insieme“di“strumenti“GNU.“Una“"libreria“di“programma"“consiste“semplicemente“in“un“le“contenenteŽ¡codice–€ compilato“(e“dati)“che“viene“successi•À v“amente–€ incorporato“in“un“programma;“le“librerie“di“programmaŽ¡consentono–€ ai“programmi“di“essere“pi€ù“modulari,“pi€ù“vÙ eloci“da“ricompilare“e“pi€ù“semplici“da“aggiornare.“Le“librerieŽ¡di–€ programma“possono“essere“dišÀ vise“in“tre“cateÙ gorie:“librerie“statiche,“librerie“condi˜vise“e“librerie“a“caricamentoŽ¡dinamico–€ (DL,“dall'inglese“"dynamically“loaded").Ž©*8ïhtml:ï html:Ÿ
ÕÈQuesto–warticolo“discute“inizialmente“le“librerie“statiche,“le“quali“všÙ engono“installate“in“un“programma“ese˜guibile“primaŽ¡che–€ il“programma“stesso“possa“essere“mandato“in“esecuzione.“V‘þã×engono“successi•À v“amente–€ discusse“le“librerieŽ¡condišÀ vise,–€ che“vÙ engono“caricate“all'aÌÐvvio“del“programma“e“condi˜vise“tra“i“programmi.“Inne,“si“discutono“le“librerieŽ¡caricate–€ dinamicamente“(DL),“le“quali“possono“essere“caricate“ed“utilizzate“in“ogni“momento“durante“l'esecuzione“diŽ¡un–€ programma.“Le“librerie“dinamiche“non“corrispondono“in“realt€à“ad“un“dierente“formato“di“libreria“(sia“le“librerieŽ¡statiche–îche“quelle“condiÀ vise“possono“essere“utilizzate“come“librerie“a“caricamento“dinamico);“piuttosto,“la“dierenzaŽ¡sta–€ in“come“le“librerie“dinamiche“vÙ engono“utilizzate“dai“programmatori.“L‘ÿ'HO¦gWTÑðO“si“conclude“con“una“sezioneŽ¡contenente–€ ulteriori“esempi“ed“una“sezione“con“riferimenti“ad“altre“fonti“di“informazione.Ž¦ïhtml:ï html:Ÿ
ÕÈLa–€ maggior“parte“dei“programmatori“intenzionati“a“sviluppare“librerie“doÙ vrebbe“creare“librerie“condiÀ vise,“dalŽ¡momento–€ che“queste“consentono“agli“utenti“di“aggiornare“le“loro“librerie“separatamente“dalle“applicazioni“che“leŽ¡utilizzano.–€ Le“librerie“caricate“dinamicamente“sono“utili,“ma“richiedono“un“certo“la•ÌÐv“oro–€ in“pi€ù“per“essere“utilizzate“eŽ¡molti–€ programmi“non“necessitano“della“essibilit€à“oerta“da“questo“tipo“di“libreria.“Al“contrario,“l'aggiornamento“diŽ¡librerie–€ statiche“risulta“di“gran“lungó7a“pi€ù“complesso,“tanto“che“un“loro“utilizzo“generale“risulta“dicile“daŽ¡raccomandare.–€ Detto“questo,“ogni“catešÙ goria“presenta“dei“vÀ antaggi“specici;“i“pre˜gi“di“ciascun“tipo“di“libreria“sonoŽ¡illustrati–€ nella“sezione“dedicata.“Gli“sviluppatori“che“utilizzano“il“C++“e“le“librerie“caricate“dinamicamenteŽ¡doÙ vrebbero–€ inoltre“consultare“il“"C++“dlopen“mini-HO¦gWTÑðO".Ž¦ïhtml:ï html:Ÿ
ÕÈV‘þã×ale–€ la“pena“di“notare“che“alcuni“utilizzano“il“termine“DLL“(dynamically“ïhtml:ï html:óϯ8
ptmri8tÃlinkæged‘Žlibraries,“cio€è“librerie“ïhtml:ï html:Ãcolle™ŸgateŽ¡½dinamicamente)–€ per“riferirsi“alle“librerie“condiÀ vise,“altri“usano“il“termine“DLL“per“indicare“qualunque“libreria“cheŽ¡vÙ engó7a–€ utilizzata“come“una“libreria“a“caricamento“dinamico“e“alcuni“altri“intendendo“un“tipo“di“libreria“cheŽ¡corrisponde–€ ad“entrambi“i“signicati.“Indipendentemente“da“quale“signicato“vÙ engó7a“scelto,“il“presente“HO¦gWTÑðO“trattaŽ¡le–€ DLL“in“ambiente“Linux.ŽŸ”ïhtml:ï html:ŸælPer–€ quanto“riguarda“il“formato“di“eseÙ guibili“e“librerie,“questo“HO¦gWTÑðO“discute“unicamente“il“formato“ELFŽ¡(ExšÙ ecutable–€ and“Linking“F˜ormat),“utilizzato“attualmente“dalla“quasi“totalit€à“di“distribÌÐuzioni“Linux.“L‘ÿ'insieme“diŽ¡strumenti–€ GNU“gcc“pu€ò“in“realt€à“gestire“formati“di“librerie“diÀ vÙ ersi“da“ELF;“in“particolare“la“maggior“parte“diŽ¡distribÌÐuzioni–€ Linux“pu€ò“ancora“utilizzare“l'obsoleto“formato“a.out.“In“ogni“caso,“tali“formati“esulano“dalla“portata“delŽ¡presente‘€ articolo.Ž¦ïhtml:ï html:Ÿ
ÕÈSe–€ si“dešÀ vÙ e“implementare“un'applicazione“che“de˜vÙ e“essere“portata“su“molti“sistemi,“in“alternati˜v˜a“all'uso“diretto“deÙ gliŽ¡strumenti–€ di“Linux,“pu€ò“essere“preso“in“considerazione,“al“ne“di“compilare“ed“installare“librerie,“l'utilizzo“di“ïhtml:ï html:GNUŽ¡libtool–€ (http://www‘ÿY .gnu.orÑðg/softwægare/libtool/libtool.html).“GNU“libtool“€è“uno“script“di“supporto“alla“produzione“diŽ¡librerie–€ che“maschera“la“complessit€à“nell'utilizzo“di“librerie“condiÀ vise“(riguardo,“ad“esempio,“alla“creazione“edŽ¡installazione–€ delle“stesse)“dietro“un'interfægaccia“consistente“e“portabile.“Sotto“Linux,“GNU“libtool“€è“implementatoŽ¡sulla–€ base“dešÙ gli“strumenti“e“delle“con™Ÿv˜enzioni“descritte“nel“presente“HO¦gWTÑðO.“Per“le“librerie“caricate“dinamicamenteŽ¡€è–€ possibile“utilizzare“dierenti“strumenti“che“ne“incapsulano“le“funzionalit€à“dietro“un'interfægaccia“portabile.“GNUŽ¡libtool–€ include“uno“di“questi“strumenti,“chiamato“"libtdl".“In“alternati•À v“a,–€ €è“possibile“utilizzare“la“libreria“glib“(da“nonŽ¡confondersi–€ con“glibc)“con“il“suo“supporto“portabile“al“caricamento“dinamico“di“moduli.“€È“possibile“reperire“ulterioriŽ¡informazioni–€ riguardo“a“glib“presso“ïhtml:ï html:http://deÀ vÙ eloper‘ÿs8.gnome.orÑðg/doc/API/glib/glib-dynamic-loading-of-modules.html.Ž¡Ancora–€ una“vÌÐolta,“sotto“Linux“questa“funzionalit€à“€è“implementata“utilizzando“i“costrutti“descritti“in“questo“HO¦gWTÑðO.Ž¡Se–€ si“sta“eetti•À v“amente–€ sviluppando“il“codice“in“ambiente“Linux“si“všÌÐorranno“probabilmente“a˜vÙ ere“a“disposizione“leŽŽŸ0 ºâïcolor push Blackïhtml:ï html:Ÿfd’Ï Ã3ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 £3 žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâ½informazioni–€ contenute“nel“presente“articolo.ŽŸ ºâLa–€ copia“di“riferimento“di“questo“HO¦gWTÑðO“€è“disponibile“presso“http://www‘ÿY .dwheeler‘ÿs8.com/program-library,“e“fæga“parteŽ¤
ºâdel–€ Linux“Documentation“Project“(ïhtml:ï html:http://www‘ÿY .linuxdoc.orÑðg).“€È“Copægyright“(C)“2000“di“DaÌÐvid“A.“Wheeler“e“se“neŽ¡ºâfornisce–€ licenza“d'uso“secondo“i“termini“della“General“Public“License“(GPL);“si“rimanda“alla“sezione“conclusi•À v“a‘€ perŽ¡ºâulteriori‘€ informazioni.ŽºâŸ”ï html:ï html:Ÿ'k‹Â2.– ÈLibrerie“staticÛ$heŽŸaAïhtml:ï html:ŸÑò½Le–€ librerie“statiche“sono“semplicemente“una“raccolta“di“comuni“le“oggetto;“per“con™ŸvÙ enzione,“i“nomi“delle“librerieŽ¡statiche–€ terminano“con“il“susso“"ïhtml:ï html:À.a½".“Una“tale“raccolta“si“crea“utilizzando“il“programma“ïhtml:ï html:Àar“½(dall'inglese“ïhtml:ï html:Ãar¡GcÙ hiver:ß½).Ž¡Le–€ librerie“statiche“non“sono“pi€ù“utilizzate“tanto“spesso“quanto“in“passato,“per“via“dei“vÀ antaggi“che“caratterizzano“leŽ¡librerie–€ condiÀ vise“(descritte“in“sešÙ guito).“Ciononostante,“esse“v˜engono“ancora“talvÌÐolta“utilizzate,“storicamente“sonoŽ¡vÙ enute–€ prima“e“sono“pi€ù“semplici“da“illustrare.Ž©*8ïhtml:ï html:Ÿ
ÕÈL‘ÿ'utilizzo–€ di“librerie“statiche“ne“consente“il“link“a“programmi“eseÙ guibili“senza“che“ne“debba“essere“ricompilato“ilŽ¡codice,–€ risparmiando“tempo“di“compilazione.“Si“noti“che,“data“la“maggiore“vÙ elocit€à“dei“compilatori“odierni,“il“tempoŽ¡di–€ ricompilazione“€è“diÀ vÙ enuto“meno“determinante,“cos€ì“che“questa“esigenza“non“€è“pi€ù“tanto“sentita“quanto“in“passato.Ž¡Le–€ librerie“statiche“sono“spesso“utili“agli“sviluppatori“che“vÌÐogliano“consentire“ad“altri“programmatori“di“utilizzarle,Ž¡ma–€ che“non“siano“intenzionati“a“distribÌÐuire“il“codice“sorÑðgente“delle“librerie“stesse“(il“che“pu€ò“essere“un“vÀ antaggio“perŽ¡chi–jvšÙ ende“una“libreria,“ma“o˜vviamente“non“lo“€è“per“il“programmatore“che“cerchi“di“utilizzarla).“In“teoria,“la“v˜elocit€à“diŽ¡esecuzione–€ del“codice“di“una“libreria“statica“prodotta“nel“formato“ELF“e“incorporata“in“un“programma“doÙ vrebbeŽ¡essere–€ leÙ ggermente“superiore“(di“un“1-5%)“rispetto“a“quella“di“una“libreria“condiÀ visa“o“caricata“dinamicamente,“maŽ¡nella–€ pratica“questo“raramente“si“vÙ erica“per“via“di“altri“fægattori“concomitanti.Ž¦ïhtml:ï html:Ÿ
ÕÈPer–€ creare“una“libreria“statica,“o“per“aggiungere“ulteriori“le“oggetto“ad“una“libreria“statica“esistente,“si“utilizza“unŽ¡comando–€ simile“al“seÙ guente:ŽŸ*8ïhtml:ï html:Ÿ ˆûÀar–ffrcs“mia_libreria.a“file1.o“file2.oŽŸ
ïhtml:ï html:©òs½Il–€ comando“di“questo“esempio“aggiunge“il“le“oggetto“ïhtml:ï html:Àfile1.o“½e“ïhtml:ï html:Àfile2.o“½alla“libreria“statica“ïhtml:ï html:Àmia_libreria.a½,Ž¡creando–€ ïhtml:ï html:Àmia_libreria.a“½nel“caso“in“cui“quest'ultima“non“sia“gi€à“presente.“Per“ulteriori“informazioni“riguardo“allaŽ¡creazione–€ di“librerie“statiche“si“vÙ eda“ïhtml:ï html:Àar(1)½.ŽŸ
ïhtml:ï html:¦Una–€ všÌÐolta“creata“una“libreria“statica,“la“si“v˜orr€à“probabilmente“usare.“€È“possibile“utilizzare“una“libreria“staticaŽ¡fægacendošÙ vi–€ riferimento“durante“il“processo“di“compilazione“e“link“di“un“programma“ese˜guibile.“Nel“caso“in“cui,“per“laŽ¡creazione–€ dell'eseÙ guibile,“si“stia“utilizzando“ïhtml:ï html:Àgcc(1)“½€è“possibile“allora“utilizzare,“al“ne“di“specicare“la“libreria,Ž¡l'opzione–€ -l;“si“fægaccia“riferimento“a“ïhtml:ï html:Àinfo:gcc“½per“ulteriori“informazioni.Ž©*8ïhtml:ï html:Ÿ
ÕÈNell'uso–€ di“ïhtml:ï html:Àgcc“½si“pongó7a“attenzione“all'ordine“dei“parametri;“-l“€è“un'opzione“del“linkæger™Ÿ,“e“deÀ všÙ e“essere“di“conse˜guenzaŽ¡indicata–€ DOPO“il“nome“del“le“che“si“intende“compilare.“Questo“aspetto“dierisce“sensibilmente“dalla“normaleŽ¡sintassi–€ che“caratterizza“le“opzioni.“Se“si“posiziona“l'opzione“-l“prima“del“nome“del“le,“il“link“pu€ò“fægallire,Ž¡producendo–€ messaggi“di“errore“piuttosto“criptici.Ž¦ïhtml:ï html:Ÿ
ÕȀȖ€ inoltre“possibile“usare“il“linkæger“ïhtml:ï html:Àld(1)“½direttamente,“utilizzandone“le“opzioni“-l“e“-L,“ma“nella“maggior“parte“deiŽ¡casi–€ risulta“preferibile“utilizzare“ïhtml:ï html:Àgcc(1)“½dal“momento“che“l'interfægaccia“di“ïhtml:ï html:Àld(1)“½ha“maggiori“probabilit€à“di“subireŽ¡modiche.ŽŸ”ï html:ï html:ŽŸ0 ºâïcolor push Black’Ï Ã4ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ºn žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš9ºâÂ3.– ÈLibrerie“condiviseŽºâŸaAïhtml:ï html:ŸÑò½Le–€ librerie“condiÀ vise“sono“librerie“che“vÙ engono“caricate“all'ašÌÐvvio“dei“programmi.“Una“v˜olta“che“una“libreriaŽ¤
condišÀ visa–€ €è“stata“correttamente“installata,“tutti“i“programmi“successi˜v˜amente“eseÙ guiti“ne“fægaranno“automaticamenteŽ¡uso.–€ Il“funzionamento“€è“in“realt€à“molto“pi€ù“essibile“e“sosticato“di“quanto“detto,“infægatti“l'approccio“usato“da“LinuxŽ¡permette‘€ di:‘ ïhtml:ï html:ŽŸ ]kïhtml:ï html:Ÿ<.ïcolor push BlackóÌ*j]
ptmr8cÅ€ˆï color popŽŽ‘
ïhtml:ï html:½aggiornare–€ librerie“e“al“tempo“stesso“gó7arantire“il“supporto“di“programmi“che“necessitano“delle“všÙ ecchie“v˜ersioniŽ¡‘
delle–€ stesse“librerie;ŽŸqèïhtml:ï html:ŸŽïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½forzare–€ l'uso“di“speciche“librerie“o“anche“di“speciche“funzioni“di“una“libreria,“in“sostituzione“di“quelle“reseŽ¡‘
normalmente–€ disponibili,“quando“viene“eseÙ guito“un“particolare“programma;Ž©*8ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½fægare–€ tutto“questo“mentre“sono“in“esecuzione“programmi“che“utilizzano“le“librerie“esistenti.ŽŸ ‘ ïhtml:ï html:ŽŸ"™šóú
phvb8tÆ3.1.‘UüCon…&venzioniŽŸ&aïhtml:ï html:ŸÙŸ½Anch€é–€ le“librerie“condiÀ vise“supportino“tutte“queste“caratteristiche“€è“necessario“attenersi“ad“un“certo“numero“diŽ¡con™ŸvÙ enzioni–€ e“linee“guida.“Occorre“a“questo“scopo“che“risulti“chiara“la“dierenza“tra“i“nomi“con“cui“€è“possibile“fægareŽ¡riferimento–€ ad“una“libreria,“in“particolare“i“suoi“ïhtml:ï html:Ã"soname"›ž¸½e“ïhtml:ï html:Ã"nome“verŒÏo"˜½(e“in“che“relazione“questi“siano“tra“di“loro).Ž¡DeÀ všÙ e–€ inoltre“essere“chiaro“do˜v˜e“queste“debbano“essere“poste“nel“lesystem.Ž¦ïhtml:ï html:ŸUÈóú
phvb8tÇ3.1.1.–ǧNomi“delle“librerie“condiviseŽŸüïhtml:ï html:Ÿà½Ogni–€ libreria“condiÀ visa“ha“uno“speciale“nome“chiamato“"soname".“Il“soname“€è“caratterizzato“dal“presso“"ïhtml:ï html:Àlib½",“dalŽ¡nome–€ della“libreria,“dalla“particella“"ïhtml:ï html:À.so½",“sešÙ guita“da“un“punto“e“da“un“numero“di“v˜ersione“che“viene“incrementatoŽ¡ogni–€ qualvšÌÐolta“a˜vvÙ engó7ano“delle“modiche“all'interfægaccia“(una“eccezione“particolare“€è“rappresentata“dalle“librerie“diŽ¡pi€ù–€ basso“liÀ vÙ ello“del“C,“il“cui“nome“non“comincia“per“"ïhtml:ï html:Àlib½").“Un“soname“completamente“qualicato“include“comeŽ¡presso–€ la“directory“in“cui“€è“posto;“in“un“sistema“funzionante“al“soname“completamente“qualicato“corrispondeŽ¡semplicemente–€ un“link“simbolico“al“"nome“vÙ ero"“della“libreria“condiÀ visa.Ž©*8ïhtml:ï html:Ÿ
ÕÈOgni–€ libreria“condišÀ visa“ha“anche“un“"nome“vÙ ero",“che“corrisponde“al“nome“del“le“che“contiene“eetti˜v˜amente“ilŽ¡codice–€ di“libreria.“Il“nome“všÙ ero“aggiunge“al“soname“un“punto,“un“numero“di“v˜ersione“secondario,“un“ulteriore“punto“eŽ¡il–€ numero“di“release.“L‘ÿ'ultimo“punto“ed“il“numero“di“release“sono“opzionali.“Il“numero“di“vÙ ersione“secondario“ed“ilŽ¡numero–€ di“release“sono“di“supporto“al“controllo“di“congurazione,“consentendo“di“sapere“esattamente“quale“o“qualiŽ¡vÙ ersioni–€ della“libreria“siano“state“installate.“Si“noti“che“questi“numeri“potrebbero“non“coincidere“con“quelli“utilizzatiŽ¡per–€ descriÀ vÙ ere“la“libreria“nella“documentazione,“anche“se“quando“coincidono“le“cose“certamente“si“semplicano.Ž¦ïhtml:ï html:Ÿ
ÕÈIn–€ aggiunta“a“questi,“esiste“inoltre“il“nome“utilizzato“dal“compilatore“nel“momento“in“cui“fæga“richiesta“di“unaŽ¡particolare–€ libreria“(in“seÙ guito“riferito“come“il“"nome“per“il“linkæger"),“il“quale“coincide“semplicemente“con“il“sonameŽ¡pri•À v“ato–€ di“qualunque“numero“di“vÙ ersione.Ž¦ïhtml:ï html:Ÿ
ÕÈLa–wéchiaÌÐvÙ e“della“gestione“delle“librerie“condiÀ vise“consiste“nella“distinzione“fra“questi“nomi.“I‘wæprogrammi,“nell'elencareŽ¡internamente–€ le“librerie“condiÀ vise“di“cui“hanno“bisogno,“doÙ vrebbero“indicarne“solo“il“soname.“Al“contrario,“quando“siŽ¡crea–€ una“libreria“condiÀ visa,“si“crea“solo“la“libreria“stessa,“con“uno“specico“nome“di“le“(quindi“con“maggioreŽ¡dettaglio–€ sulle“informazioni“relatiÀ všÙ e“alla“v˜ersione).“Quando“si“installa“una“nuo˜v˜e“v˜ersione“di“una“libreria,“la“si“copiaŽ¡in–€ una“posizione“scelta“fra“un“limitato“insieme“di“speciali“directory“e“quindi“si“eseÙ gue“il“programma“ïhtml:ï html:Àldconfig(8)½.Ž¡ïhtml:ï html:Àldconfig–€ ½esamina“i“le“esistenti“e“crea“i“soname“come“link“simbolici“ai“nomi“vÙ eri“e,“allo“stesso“tempo,“aggiorna“ilŽ¡le–€ di“cache“ïhtml:ï html:À/etc/ld.so.cache“½(descritto“pi€ù“aÌÐvÀ anti).ŽŽŸ0 ºâïcolor push Black’Ï Ã5ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ÎA žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ºâ ý ïhtml:ï html:ïhtml:ï html:Ÿ
Àldconfig–€ ½non“predispone“i“nomi“per“il“linkšæger;“questo“viene“tipicamente“f˜atto“durante“l'installazione“della“libreria“edŽ¤
il–€ nome“per“il“linkæger“viene“semplicemente“creato“come“un“link“simbolico“al“"pi€ù“recente"“soname“o“al“pi€ù“recenteŽ¡nome–pvÙ ero.“Raccomanderei“la“scelta“di“predisporre“il“nome“per“il“linkæger“come“link“simbolico“al“soname,“dal“momentoŽ¡che–Ænella“maggior“parte“dei“casi“se“viene“aggiornata“una“libreria“la“si“vÌÐorr€à“probabilmente“utilizzare“automaticamenteŽ¡quando–€ si“eseÙ gue“il“link“dei“programmi.“Ho“chiesto“a“H.“J.“Lu“il“motiÀ vÌÐo“per“cui“ïhtml:ï html:Àldconfig“½non“conguriŽ¡automaticamente–€ i“nomi“per“il“linkæger‘ÿs8.“La“sua“spiešÙ gó7azione“€è“stata“sostanzialmente“che“si“potrebbe“vÌÐoler“ese˜guire“delŽ¡codice–€ utilizzando“la“vÙ ersione“pi€ù“aggiornata“della“libreria,“ma“si“potrebbe“al“contrario“vÌÐolere“che“lo“ïhtml:ï html:Ãsviluppo“½fosseŽ¡collešÙ gó7ato–€ ad“una“v˜ersione“pi€ù“v˜ecchia“(ed“eÀ v˜entualmente“non“compatibile).“Quindi,“ïhtml:ï html:Àldconfig“½non“fæga“assunzioni“aŽ¡proposito–€ di“cosa“si“vÌÐoglia“utilizzare“in“fægase“di“link“dei“programmi“e,“di“consešÙ guenza,“chi“installa“una“libreria“deÀ v˜eŽ¡specicamente–€ modicare“i“link“simbolici“per“aggiornare“la“vÙ ersione“della“libreria“utilizzata“dal“linkæger‘ÿs8.Ž©*8ïhtml:ï html:Ÿ
ÕÈCos€ì,–€ ïhtml:ï html:À/usr/lib/libreadline.so.3“½€è“un“soname“completamente“qualicato,“che“ïhtml:ï html:Àldconfig“½predisporrebbeŽ¡come–€ link“simbolico“ad“un“qualche“nome“všÙ ero“come“ïhtml:ï html:À/usr/lib/libreadline.so.3.0½.“Do˜vrebbe“inoltre“essereŽ¡presente–€ un“nome“per“il“linkšæger™Ÿ,“ïhtml:ï html:À/usr/lib/libreadline.so“½che“potrebbe“essere“un“link“simbolico“che“f˜aŽ¡riferimento–€ a“ïhtml:ï html:À/usr/lib/libreadline.so.3½.ŽŸµÿïhtml:ï html:Ÿ JÇ3.1.2.–ǧP™Ÿosizionamento“nel“lesystemŽŸèïhtml:ï html:Ÿ
î½Le–€ librerie“condišÀ vise“de˜vÌÐono“essere“poste“in“qualche“locazione“nel“lesystem.“La“maggior“parte“del“softwægare“openŽ¡source–€ tende“a“seÙ guire“gli“standard“GNU;“per“maggiori“informazioni“si“fægaccia“riferimento“alla“documentazioneŽ¡disponibile–€ presso“ïhtml:ï html:info:standards#Directory_V‘þã×ariables.“Gli“standard“GNU“raccomandano,“per“la“distribÌÐuzione“diŽ¡softwægare–€ accompagnato“dai“sorÑðgenti,“di“utilizzare“come“locazione“predenita“delle“librerie“ïhtml:ï html:À/usr/local/libŽ¡½(mentre–€ tutti“i“comandi“došÙ vrebbero“andare“in“ïhtml:ï html:À/usr/local/bin½).“Essi“stabiliscono“inoltre“le“con™Ÿv˜enzioni“per“laŽ¡ridenizione–€ di“queste“locazioni“e“per“l'atti•À v“azione–€ delle“procedure“di“installazione.Ž¦ïhtml:ï html:Ÿ
ÕÈIl–€ Filesystem“Hierarchó7y“Standard“(FHS)“discute“cosa“došÙ vrebbe“andare“a“fægar“parte“di“una“distribÌÐuzione“e“do˜v˜e“(v˜edasiŽ¡ïhtml:ï html:http://www‘ÿY .pathname.com/fhs).–€ Secondo“l'FHS,“la“maggior“parte“delle“librerie“doÙ vrebbero“essere“installate“inŽ¡ïhtml:ï html:À/usr/lib½,–€ tranne“le“librerie“necessarie“all'aÌÐvvio“che“doÙ vrebbero“essere“in“ïhtml:ï html:À/lib½;“inne,“le“librerie“che“non“sonoŽ¡parte–€ del“sistema“doÙ vrebbero“essere“in“ïhtml:ï html:À/usr/local/lib½.Ž¦ïhtml:ï html:Ÿ
ÕÈNon–€ esiste“un“reale“conitto“fra“questi“due“documenti;“gli“standard“GNU“raccomandano“un“comportamentoŽ¡predenito–€ per“gli“sviluppatori“di“codice“sorÑðgente,“mentre“l'FHS“raccomanda“il“comportamento“per“chi“distribÌÐuisce“iŽ¡programmi–€ (che“in“maniera“seletti•À v“a–€ ridenisce“il“comportamento“prestabilito“nel“codice“sorÑðgente,“di“solito“perŽ¡mezzo–€ del“sistema“di“gestione“dei“pacchetti“della“distribÌÐuzione).“Nella“pratica“tutto“questo“funziona“bene:“il“codiceŽ¡sorÑðgente–€ "pi€ù“aggiornato"“(ed“eÀ vÙ entualmente“bacato!)“che“si“€è“scaricato“dalla“rete“si“installa“automaticamente“nellaŽ¡directory–€ "locale"“(ïhtml:ï html:À/usr/local½),“e,“una“vÌÐolta“che“il“codice“ha“raggiunto“uno“stadio“maturo,“i“gestori“dei“pacchettiŽ¡possono–€ banalmente“ridenire“il“comportamento“predenito“per“posizionare“il“codice“in“una“locazione“standard“perŽ¡la–€ distribšÌÐuzione.“Si“noti“che“se“una“libreria“in™Ÿv˜oca“programmi“che“possono“essere“richiamati“unicamente“da“librerie,Ž¡tali–€ programmi“došÙ vrebbero“essere“posti“in“ïhtml:ï html:À/usr/local/libexec“½(che“diÀ v˜enta“ïhtml:ï html:À/usr/libexec“½in“unaŽ¡distribšÌÐuzione).–€ Una“complicazione“€è“rappresentata“dal“fægatto“che“i“sistemi“deri•À v“ati–€ da“distrib˜uzioni“Red“Hat“nonŽ¡includono–€ ïhtml:ï html:À/usr/local/lib“½nel“percorso“predenito“per“la“ricerca“delle“librerie;“per“ulteriori“informazioni“si“vÙ edaŽ¡anche–€ la“discussione“che“seÙ gue“a“proposito“di“ïhtml:ï html:À/etc/ld.so.conf½.“L‘ÿ'insieme“delle“directory“comunemente“utilizzateŽ¡include–€ ïhtml:ï html:À/usr/X11R6/lib“½per“le“librerie“del“sistema“X-windoÀ ws.“Si“noti“che“ïhtml:ï html:À/lib/security“½viene“utilizzato“per“iŽ¡moduli–€ P‘ÿAM“(Pluggó7able“Authentication“Modules),“ma“questi“sono“di“solito“gestiti“come“librerie“a“caricamentoŽ¡dinamico–€ (anche“queste“discusse“pi€ù“aÌÐvÀ anti).ŽŸ*8ïhtml:ï html:ŽŸ0 ºâïcolor push Black’ÎÊ@Ã6ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ã# žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:ŸüfdŸ÷™œïhtml:ï html:Ÿfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâÆ3.2.–UüCome“le“librerie“vengono“utilizzateŽºâŸ«~ïhtml:ï html:Ÿ
T‚½Nei–€ sistemi“basati“sulle“GNU“ïhtml:ï html:Àglibc½,“inclusi“quindi“tutti“i“sistemi“Linux,“l'aÌÐvvio“di“un“eseÙ guibile“binario“in“formatoŽ¤
ELF›€ atti•À v“a˜l'esecuzione˜del˜caricatore˜di˜programma.˜Nei˜sistemi˜Linux,˜questo˜caricatore˜ha˜nomeŽ¡ïhtml:ï html:À/lib/ld-linux.so.X›€ ½(do•Ù v“e˜X˜€è˜il˜numero˜di˜v“ersione).˜T‘ÿ37ale˜caricatore,˜a˜sua˜vÌÐolta,˜localizza˜e˜carica˜in˜memoriaŽ¡tutte–€ le“librerie“condiÀ vise“utilizzate“dal“programma.Ž©*8ïhtml:ï html:Ÿ
ÕÈLa–€ lista“delle“directory“su“cui“eettuare“la“ricerca“€è“contenuta“nel“le“ïhtml:ï html:À/etc/ld.so.conf½.“Molte“distribÌÐuzioniŽ¡deri•À v“ate–€ da“Red“Hat“non“includono“normalmente“ïhtml:ï html:À/usr/local/lib“½nel“le“ïhtml:ï html:À/etc/ld.so.conf½.“Personalmente“loŽ¡considero–€ un“baco“e“aggiungere“ïhtml:ï html:À/usr/local/lib“½in“ïhtml:ï html:À/etc/ld.so.conf“½rappresenta“un“tipico“"rimedio"Ž¡necessario–€ per“eseÙ guire“molti“programmi“su“sistemi“deri•À v“ati–€ da“Red“Hat.Ž¦ïhtml:ï html:Ÿ
ÕÈSe–€ si“vuole“forzare“l'utilizzo“di“poche“speciche“funzioni“in“alternati•À v“a–€ a“quelle“normalmente“rese“disponibili“da“unaŽ¡libreria,–€ ma“mantenere“všÀ alido“il“resto“della“libreria“stessa,“si“possono“inserire“i“nomi“di“queste“librerie“sostituti˜vÙ e“(leŽ¡ïhtml:ï html:À.o½)–€ in“ïhtml:ï html:À/etc/ld.so.preload½;“queste“librerie“di“"preloading"“aÌÐvranno“la“precedenza“su“quelle“standard.“Questo“leŽ¡di–€ preloading“viene“tipicamente“utilizzato“per“le“correzioni“di“emerÑðgenza“alla“congurazione“del“sistema;“unaŽ¡distribÌÐuzione–€ di“solito“non“includer€à“un“simile“le“quando“viene“rilasciata.Ž¦ïhtml:ï html:Ÿ
ÕÈLa–€ ricerca“attrašÌÐvÙ erso“tutte“queste“directory“all'a˜vvio“del“programma“risulterebbe“gra˜vÙ emente“ineciente,“diŽ¡conseÙ guenza–€ in“realt€à“si“utilizza“un“meccanismo“di“cache.“Il“normale“comportamento“del“programma“ïhtml:ï html:Àldconfig(8)Ž¡½consiste–€ nel“leÙ ggere“il“le“ïhtml:ï html:À/etc/ld.so.conf½,“congurare“gli“appropriati“link“simbolici“nelle“directory“(cos€ì“cheŽ¡questi–€ sešÙ guiranno“le“con™Ÿv˜enzioni“standard)“e“inne“scriÀ v˜ere“una“cache“nel“le“ïhtml:ï html:À/etc/ld.so.cache“½che“viene“quindiŽ¡utilizzato–€ dagli“altri“programmi.“Questo“všÙ elocizza“enormemente“l'accesso“alle“librerie.“La“conse˜guenza“€è“cheŽ¡ïhtml:ï html:Àldconfig–€ ½deÀ všÙ e“essere“ese˜guito“ogni“vÌÐolta“che“una“DLL“viene“aggiunta,“quando“una“DLL“viene“rimossa“o“quandoŽ¡cambia–€ l'insieme“delle“directory“in“cui“eettuare“la“ricerca“delle“librerie;“spesso“quando“viene“installata“una“libreriaŽ¡uno–€ dei“compiti“eettuati“dai“gestori“di“pacchetti“consiste“nell'esecuzione“di“ldcong.“All'aÌÐvvio“di“un“programma,Ž¡quindi,–€ il“caricatore“dinamico“in“realt€à“utilizza“il“le“ïhtml:ï html:À/etc/ld.so.cache“½e“carica“quindi“le“librerie“di“cui“necessita.Ž¦ïhtml:ï html:Ÿ
ÕÈAd–€ ogni“modo,“FreeBSD“utilizza“nomi“di“le“lešÙ ggermente“diÀ v˜ersi“per“questa“cache.“Sotto“FreeBSD,“la“cache“per“ilŽ¡formato–€ ELF“€è“ïhtml:ï html:À/var/run/ld-elf.so.hints“½e“la“cache“per“il“formato“a.out“€è“ïhtml:ï html:À/var/run/ld.so.hints½.“QuestiŽ¡le–€ sono“comunque“aggiornati“da“ïhtml:ï html:Àldconfig(8)½,“di“conseÙ guenza“questa“dierenza“di“collocazione“nel“lesystemŽ¡doÙ vrebbe–€ assumere“una“qualche“importanza“solo“in“rare,“"esotiche",“situazioni.Ž¦ïhtml:ï html:Ÿ!obÆ3.3.–UüV‘ÿG¯ariabili“di“ambienteŽŸ&aïhtml:ï html:ŸÙŸ½Di•À vÙ erse›€ v“ariabili˜d'ambiente˜permettono˜di˜controllare˜il˜processo˜di˜gestione˜delle˜librerie˜condi“vise˜ed˜esistonoŽ¡vÀ ariabili–€ d'ambiente“che“consentono“di“modicarne“il“funzionamento“predenito.ŽŸ*8ïhtml:ï html:ŸUÈÇ3.3.1.‘ǧLD_LIBRAR‘ÿÿY_P‘þÿÿA‘ÿ THŽŸ30ïhtml:ï html:ŸÌн€È–€ possibile“utilizzare,“per“una“specica“esecuzione“di“un“programma,“una“libreria“dierente.“Sotto“Linux,“la“vÀ ariabileŽ¡d'ambiente–€ LD_LIBRAR›ÿY Y_P‘ÿA‘þã×TH“costituisce“una“sequenza“di“directory˜,“separate“da“doppi“punti,“do•Ù v“e–€ le“librerieŽ¡došÙ vrebbero–€ essere“inizialmente“cercate,“prima“che“v˜engó7a“cio€è“preso“in“esame“l'insieme“delle“directory“di“sistema;Ž¡questo–€ risulta“utile“quando“si“sta“sottoponendo“a“dubšÌÐug“una“nuoÙ vÀ a“libreria“o“quando“si“v˜oglia“utilizzare“una“libreriaŽ¡non–€ standard“per“uno“scopo“particolare.“La“všÀ ariabile“d'ambiente“LD_PRELO¦gAD“elenca“le“librerie“condi˜vise“conŽ¡funzioni–€ che“si“sostituiscono“a“quelle“predenite,“allo“stesso“modo“di“quanto“aÌÐvviene“per“ïhtml:ï html:À/etc/ld.so.preload½.Ž¡L‘ÿ'utilizzo–€ di“queste“všÀ ariabili“€è“implementato“nel“caricamento“delle“librerie“da“ïhtml:ï html:À/lib/ld-linux.so½.“Si“de˜vÙ e“inoltreŽ¡notare–€ che,“per“quanto“LD_LIBRAR‘ÿY Y_P‘ÿA‘þã×TH“funzioni“per“molte“delle“vÀ arianti“di“Unix,“non“funziona“per“tutte;“perŽ¡esempio,–€ questa“funzionalit€à“€è“disponibile“sotto“HP-UX“ma“come“vÀ ariabile“d'ambiente“SHLIB_P‘ÿA‘þã×TH,“mentre“sottoŽ¡AIX–€ la“vÀ ariabile“€è“LIBP‘ÿA‘þã×TH“(con“la“medesima“sintassi,“una“lista“separata“da“doppi“punti).ŽŽŸ0 ºâïcolor push Black’ΡHÃ7ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 úi žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ºâ ý ïhtml:ï html:Ÿ
½LD_LIBRAR‘ÿY Y_P‘ÿA‘þã×TH–€ risulta“comoda“per“lo“sviluppo“e“le“operazioni“di“test,“ma“non“došÙ vrebbe“v˜enire“modicata“nelŽ¤
corso–€ di“una“procedura“di“installazione“al“ne“di“essere“utilizzata“dai“comuni“utenti;“si“vÙ eda“"Whó7yŽ¡LD_LIBRAR›ÿY Y_P‘ÿA‘þã×TH–€ is“Bad"“al“link“ïhtml:ï html:http://www˜.visi.com/~barr/ldpath.html“per“una“illustrazione“dei“motiÀ vi.Ž¡Ciononostante,–€ oltre“ad“essere“utile“per“lo“sviluppo“e“le“operazioni“di“test,“l'uso“di“questa“vÀ ariabile“permette“talvÌÐoltaŽ¡di–€ aggirare“problemi“che“non“potrebbero“essere“risolti“diÀ všÙ ersamente.“Se“non“si“desidera“interv˜enire“sulla“vÀ ariabileŽ¡d'ambiente–€ LD_LIBRAR‘ÿY Y_P‘ÿA‘þã×TH,“sotto“Linux“si“pu€ò“eÀ vÙ entualmente“in™ŸvÌÐocare“direttamente“il“caricatore“diŽ¡programma–€ passandogli“dešÙ gli“arÑðgomenti.“Per“esempio,“il“se˜guente“comando“utilizza“il“PERCORSO“fornito“inŽ¡sostituzione–€ al“contenuto“della“vÀ ariabile“LD_LIBRAR‘ÿY Y_P‘ÿA‘þã×TH“ed“aÌÐvvia“l'ESEGUIBILE“indicato:ŽŸ³3‘
ÌÌÀ/lib/ld-linux.so.2–ff--library-path“PERCORSO“ESEGUIBILEŽ© ½L‘ÿ'esecuzione–€ di“ld-linux.so“senza“arÑðgomenti“fornisce“ulteriori“informazioni“sul“suo“utilizzo,“ma,“ancora“una“vÌÐolta,Ž¡non–€ €è“consigliabile“ricorrere“a“questo“metodo“se“non“per“operazioni“di“debÌÐug.ŽŸ*8ïhtml:ï html:ŸÕÈÇ3.3.2.‘ǧLD_DEBægUGŽŸ30ïhtml:ï html:ŸÌнUn'altra–€ všÀ ariabile“d'ambiente“utilizzata“dal“caricatore“C“di“GNU“€è“LD_DEBægUG.“Questa“v˜ariabile“atti˜v˜a“le“funzioniŽ¡dl*–€ cos€ì“che“forniscano“un'informazione“piuttosto“dettagliata“sulle“operazioni“che“všÙ engono“ese˜guite.“Per“esempio:ŽŸ*8ïhtml:ï html:Ÿ ˆû‘
ÌÌÀexport‘ffLD_DEBUG=filesŽŸ³3‘
ÌÌprogramma_da_eseguireŽ¦½visualizza–€ l'elaborazione“di“le“e“librerie“indicando“quali“dipendenze“vÙ engono“indišÀ viduate“e“quali“oggetti“condi˜visiŽ¡vÙ engono–€ caricati“ed“in“che“ordine.“Impostando“LD_DEBægUG“come“"bindings"“visualizza“informazioni“sulŽ¡collešÙ gó7amento–€ dei“simboli,“impostandolo“come“"libs"“visualizza“i“percorsi“do˜v˜e“le“librerie“v˜engono“ricercate“eŽ¡impostandolo–€ come“"všÙ ersions"“indica“le“dipendenze“fra“le“v˜ersioni.Ž©*8ïhtml:ï html:Ÿ
ÕÈImpostare–€ LD_DEBægUG“come“"help"“e“prošÙ vÀ are“poi“ad“ese˜guire“un“qualche“programma“fæga“s€ì“che“v˜engó7ano“elencate“leŽ¡opzioni–€ ammesse.“Ancora“una“vÌÐolta,“l'uso“di“LD_DEBšægUG“non“f˜a“parte“delle“normali“operazioni,“ma“pu€ò“risultareŽ¡comodo–€ nel“debÌÐug.Ž¦ïhtml:ï html:ŸÕÈÇ3.3.3.–ǧAltre“vÌÐariabili“di“ambienteŽŸüïhtml:ï html:Ÿà½Esiste–Ìin“realt€à“un“certo“numero“di“ulteriori“vÀ ariabili“d'ambiente“che“controllano“il“processo“di“caricamento;“i“nomi“diŽ¡tali–€ vÀ ariabili“cominciano“con“i“pressi“LD_“o“R‘ÿfgTLD_.“La“maggior“parte“di“queste“si“utilizzano“nel“debÌÐug“di“bassoŽ¡lišÀ vÙ ello–€ del“processo“di“caricamento“o“per“l'implementazione“di“particolari“comportamenti.“Queste“v˜ariabili“sono“perŽ¡lo–€ pi€ù“scarsamente“documentate;“se“si“ha“necessit€à“di“conoscerne“le“caratteristiche,“il“modo“migliore“di“imparareŽ¡qualcosa–€ €è“leÙ ggere“il“codice“sorÑðgente“del“caricatore“(che“fæga“parte“della“distribÌÐuzione“del“compilatore“ïhtml:ï html:Àgcc½).Ž¦ïhtml:ï html:Ÿ
ÕÈPermettere–€ il“controllo“a“liÀ všÙ ello“utente“sul“caricamento“di“librerie“a“colle˜gó7amento“dinamico“sarebbe“disastroso“perŽ¡programmi–€ con“setuid/setgid“se“non“všÙ enissero“prese“ade˜guate“precauzioni.“Di“conse˜guenza,“nel“funzionamento“delŽ¡caricatore–€ GNU“(che“carica“il“resto“del“programma“all'aÌÐvvio“dello“stesso),“se“il“programma“€è“setuid“o“setgid“questeŽ¡všÀ ariabili–€ (e“altre“v˜ariabili“simili)“vÙ engono“ignorate“o“fortemente“limitate“nei“loro“eetti.“Il“caricatore“determina“se“unŽ¡programma–€ €è“setuid“o“setgid“controllandone“gli“attribÌÐuti;“se“l'uid“e“l'euid“dieriscono,“o“se“il“gid“e“l'eÙ gidŽ¡dieriscono,–€ il“caricatore“presume“che“si“stia“trattando“di“un“programma“con“setuid/setgid“(o“discendente“di“uno“cheŽ¡lo–€ sia)“e“quindi“limita“fortemente“le“possibilit€à“di“controllarne“il“collešÙ gó7amento.“Le˜ggendo“il“codice“sorÑðgente“dellaŽ¡libreria–€ GNU“ïhtml:ï html:Àglibc“½€è“possibile“všÙ ericarlo;“in“particolare“si“v˜edano“ad“esempio“i“le“ïhtml:ï html:Àelf/rtld.c“½eŽ¡ïhtml:ï html:Àsysdeps/generic/dl-sysdep.c½.–€ Questo“signica“che“fægacendo“coincidere“uid“e“gid“con“l'euid“e“l'eÙ gid“e“quindiŽ¡chiamando–€ un“programma,“queste“vÀ ariabili“aÌÐvranno“un“eetto“completo.“Altri“sistemi“Unix“gestiscono“questaŽŽŸ0 ºâïcolor push Black’Ï Ã8ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ‹ žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâ½situazione–€ in“modo“dierente,“ma“per“la“stessa“ragione:“un“programma“con“setuid/setgid“non“doÙ vrebbe“essereŽ¤
ºâindebitamente–€ inuenzato“dalla“congurazione“delle“vÀ ariabili“d'ambiente.ŽºâŸ*8ïhtml:ï html:Ÿ!obÆ3.4.–UüCreare“una“libreria“condivisaŽŸ&aïhtml:ï html:ŸÙŸ½Creare–€ una“libreria“condišÀ visa“€è“fægacile.“Innanzitutto,“si“de˜vÌÐono“creare“i“le“oggetto“che“andranno“a“fægar“parte“dellaŽ¡libreria–€ condiÀ visa“utilizzando“le“opzioni“-fPIC“o“-fpic“di“ïhtml:ï html:Àgcc½.“Le“opzioni“-fPIC“e“-fpic“abilitano“la“generazione“diŽ¡codice–€ non“dipendente“dalla“posizione“(ïhtml:ï html:Ã"position“independent“code"¸½),“un“requisito“per“le“librerie“condiÀ vise;“si“vÙ edaŽ¡oltre–€ per“le“dierenze“fra“le“due“opzioni.“Il“soname“viene“passato“attraÌÐvÙ erso“l'opzione“-Wl“di“gcc.“L‘ÿ'opzione“-WlŽ¡inotra–€ opzioni“al“linkšæger“(in“questo“caso“-soname“€è“quindi“un'opzione“per“il“link˜er);“le“virÑðgole“dopo“-Wl“non“sono“unŽ¡errore–€ di“stampa“e“non“si“doÙ vrebbero“mai“includere“spazi“(a“meno“di“indicarli“tramite“una“sequenza“di“escape)“nelŽ¡corpo–€ di“questa“opzione.“Si“crea“quindi“una“libreria“condiÀ visa“utilizzando“questo“formato:Ž©*8ïhtml:ï html:Ÿ ˆûÀgcc–ff-shared“-Wl,-soname,ïhtml:ï html:ó‰š
pcrro8tÈmio_soname“À\ŽŸ³3‘™˜-o–ffïhtml:ï html:Ènome_della_libreria“ïhtml:ï html:elenco_dei_files“ïhtml:ï html:elenco_delle_librerieŽŸ
ïhtml:ï html:Ÿòs½Ecco–€ un“esempio“in“cui“si“creano“due“le“oggetto“(ïhtml:ï html:Àa.o“½e“ïhtml:ï html:Àb.o½)“e“successi•À v“amente–€ si“crea“una“libreria“condiÀ visa“che“liŽ¡contiene–€ entrambi.“Si“noti“che“questa“modalit€à“di“compilazione“comprende“le“informazioni“di“debÌÐug“(-g)“e“generer€àŽ¡ešÀ vÙ entuali–€ wægarning“(-W‘ÿ37all);“tale“modalit€à“non“rappresenta“un“requisito“nella“creazione“di“una“libreria“condi˜visa,“ma“€èŽ¡una–j¥pratica“consigliata.“La“compilazione“genera“i“le“oggetto“(utilizzando“-c),“ed“include“la“necessaria“opzione“-fPIC:Ž¦ïhtml:ï html:Ÿ ˆûÀgcc–ff-fPIC“-g“-c“-Wall“a.cŽ¤³3gcc–ff-fPIC“-g“-c“-Wall“b.cŽ¡gcc–ff-shared“-Wl,-soname,libmialibreria.so.1“\Ž¡‘™˜-o–fflibmialibreria.so.1.0.1“a.o“b.o“-lcŽŸ
0`ïhtml:ï html:ŸÏ ½Ci–€ sono“alcuni“punti“deÙ gni“di“nota:‘ ïhtml:ï html:Ž¦ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½Non–€ si“sottopongó7a“a“strip“la“libreria“risultante,“e“non“si“utilizzi“l'opzione“di“compilazione“-fomit-frame-pointer“aŽ¤
‘
meno–€ che“non“sia“proprio“ineÀ vitabile.“La“libreria“risultante“funzioner€à,“ma“queste“operazioni“rendono“i“debÌÐuggerŽ¡‘
sostanzialmente‘€ inutili.Žž”ïhtml:ï html:Ÿælïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½Si–€ usino“-fPIC“o“-fpic“nella“generazione“del“codice.“La“scelta“fra“-fPIC“e“-fpic“nella“generazione“del“codice“€è“unaŽ¡‘
questione–€ lešÙ gó7ata“all'architettura“della“piattaforma“per“cui“si“sviluppa.“Sce˜gliere“-fPIC“funziona“sempre,“ma“pu€òŽ¡‘
produrre–€ codice“di“maggiori“dimensioni“rispetto“a“-fpic“(un“metodo“mnemonico“per“ricordarlo“€è“che“PIC“€è“scrittoŽ¡‘
con–€ caratteri“pi€ù“grandi“e“quindi“pu€ò“produrre“codice“pi€ù“grande).“Utilizzare“l'opzione“-fpic“generalmente“produceŽ¡‘
codice–€ di“dimensioni“inferiori“e“pi€ù“vÙ eloce,“ma“con“limitazioni“dipendenti“dalla“piattaforma,“quali“il“numero“diŽ¡‘
simboli–€ globalmente“visibili“o“la“dimensione“stessa“del“codice.“Il“linkæger“comunicher€à“se“il“progetto“rientra“inŽ¡‘
queste–€ limitazioni“all'atto“di“creare“la“libreria“condiÀ visa.“Nel“dubbio,“io“scelgo“-fPIC,“che“funziona“sempre.ŽŸ*8ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½In–€ alcuni“casi,“la“chiamata“a“ïhtml:ï html:Àgcc“½per“creare“i“le“oggetto“richiede“anche“di“includere“l'opzioneŽ¡‘
"-Wl,-eÙ xport-dynamic".–€ Normalmente,“la“tabella“dinamica“dei“simboli“contiene“solo“i“simboli“utilizzati“da“oggettiŽ¡‘
dinamici.–€ Questa“opzione“(nel“momento“in“cui“si“crea“un“le“in“formato“ELF)“aggiunge“tutti“i“simboli“alla“tabellaŽ¡‘
dinamica–€ dei“simboli“(si“vÙ eda“ïhtml:ï html:Àld(1)“½per“ulteriori“informazioni).“€È“necessario“utilizzare“questa“opzione“quandoŽ¡‘
esistono–€ "dipendenze“in™ŸvšÙ erse",“vÀ ale“a“dire,“quando“una“libreria“a“colle˜gó7amento“dinamico“contiene“dei“simboli“nonŽ¡‘
risolti–€ che“per“con™ŸvÙ enzione“deÀ vÌÐono“essere“deniti“nei“programmi“che“intendono“caricare“queste“librerie.“Anch€éŽ¡‘
le–€ "dipendenze“in™ŸvšÙ erse"“funzionino,“il“programma“principale“deÀ v˜e“rendere“i“propri“simboli“disponibiliŽ¡‘
dinamicamente.–€ Si“noti“che,“nel“caso“in“cui“si“stia“la•ÌÐv“orando›€ esclusi•À v“amente˜con˜sistemi˜Linux,˜si˜potrebbe˜usareŽŽŸ0 ºâïcolor push Black’Ï Ã9ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹
6 %4 žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:ŸüfdŸ÷™œïhtml:ï html:Ÿfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ‘ ºâ½"-rdynamic"–€ in“alternati•À v“a–€ a“"-Wl,eÙ xport-dynamic",“ma“in“base“alla“documentazione“del“formato“ELF“non“€èŽ¤
‘ ºâsempre–€ gó7arantito“il“funzionamento“dell'opzione“"-rdynamic"“di“ïhtml:ï html:Àgcc“½su“sistemi“non“Linux.ŽŸ ºâŸ ïhtml:ï html:¡Durante–€ lo“sviluppo,“esiste“il“potenziale“problema“di“modicare“una“libreria“che“€è“utilizzata“anche“da“molti“altriŽ¡programmi–€ --“e“che“non“si“vÌÐoglia“che“altri“programmi“utilizzino“la“libreria“"di“sviluppo",“tranne“solamente“unŽ¡particolare–€ programma“tramite“il“quale“si“eettuano“procedure“di“test.“Un'opzione“di“link“che“si“potrebbe“usare“€èŽ¡l'opzione–€ "rpath"“di“ld,“che“specica“il“percorso“di“ricerca“delle“librerie“a“tempo“di“esecuzione“per“il“particolareŽ¡programma–€ che“si“sta“compilando.“Da“ïhtml:ï html:Àgcc½,“€è“possibile“denire“tale“opzione“specicandola“nel“modo“seÙ guente:ŽŸ*8ïhtml:ï html:Ÿ ˆû‘ffÀ-Wl,-rpath,$(DEFAULT_LIB_INSTALL_PATH)ŽŸ ½Se–€ si“utilizza“questa“opzione“nel“creare“il“programma“che“utilizza“la“libreria“non“€è“necessario“preoccuparsi“diŽ¡LD_LIBRAR‘ÿY Y_P‘ÿA‘þã×TH–€ (si“všÙ eda“anche“oltre)“a“parte“v˜ericare“che“non“crei“conitti,“o“utilizzare“altre“tecniche“perŽ¡nascondere–€ la“vÙ ersione“di“sviluppo“della“libreria“al“resto“del“sistema.Ž©*8ïhtml:ï html:Ÿ!obÆ3.5.–UüInstallare“ed“utilizzare“una“libreria“condivisaŽŸ&aïhtml:ï html:ŸÙŸ½Una–€ všÌÐolta“creata“una“libreria“condiÀ visa,“la“si“v˜orr€à“installare.“L‘ÿ'approccio“semplice“consiste“nel“copiare“la“libreria“inŽ¡una–€ delle“directory“standard“(ad“esempio,“ïhtml:ï html:À/usr/lib½)“ed“eseÙ guire“ïhtml:ï html:Àldconfig(8)½.Ž¦ïhtml:ï html:Ÿ
ÕÈInnanzitutto,–€ sar€à“necessario“aÌÐvÙ er“creato“da“qualche“parte“la“libreria“condišÀ visa.“Successi˜v˜amente“si“doÙ vranno“creare“iŽ¡necessari–{{link“simbolici,“in“particolare“un“link“dal“soname“al“nome“všÙ ero“(come“anche“da“un“soname“priÀ vÌÐo“di“v˜ersione,Ž¡vÀ ale–€ a“dire,“un“soname“che“termina“in“".so"“per“gli“utenti“che“non“specicano“alcun“numero“di“vÙ ersione).“L‘ÿ'approccioŽ¡pi€ù–€ semplice“consiste“nell'eseÙ guire:ŽŸ*8ïhtml:ï html:Ÿ ˆû–ffÀldconfig“-n“ïhtml:ï html:Èdirectory_con_librerie_condiviseŽŸ Ÿ ïhtml:ï html:¡½Inne,–€ nel“compilare“i“programmi,“si“doÙ vr€à“informare“il“linkæger“di“tutte“le“librerie“condiÀ vise“e“statiche“che“si“vÌÐoglionoŽ¡utilizzare.–€ Si“usino“a“questo“scopo“le“opzioni“-l“e“-L.Ž¦ïhtml:ï html:Ÿ
ÕÈSe–€ non“si“pu€ò“o“non“si“vuole“installare“la“libreria“in“una“locazione“standard“(ad“esempio“se“non“si“dispone“deiŽ¡priÀ vilešÙ gi–€ per“modicare“ïhtml:ï html:À/usr/lib½),“sar€à“necessario“cambiare“approccio.“In“questo“caso,“la“si“do˜vr€à“installare“daŽ¡qualche–€ parte“e“quindi“fornire“il“programma“di“informazioni“sucienti“cos€ì“che“il“programma“possa“localizzare“laŽ¡libreria...–€ ed“esistono“molti“modi“per“fægarlo.“Nei“casi“semplici“si“pu€ò“utilizzare“il“ag“-L“di“ïhtml:ï html:Àgcc½.“Si“pu€ò“utilizzareŽ¡l'approccio–€ basato“su“"rpath"“(descritto“precedentemente),“in“particolare“quando“solo“uno“specico“programmaŽ¡utilizza–€ la“libreria“che“si“sta“installando“in“una“locazione“"non“standard".“Si“pu€ò“anche“reÙ golare“il“funzionamento“deiŽ¡programmi–€ tramite“le“vÀ ariabili“d'ambiente.“In“particolare,“si“pu€ò“asseÙ gnare“opportunamente“LD_LIBRAR‘ÿY Y_P‘ÿA‘þã×TH,Ž¡che–€ €è“una“lista“di“directory“separata“da“doppi“punti“(:)“in“cui“aÌÐvviene“la“ricerca“delle“librerie“condiÀ vise“prima“cheŽ¡vÙ engó7ano–€ prese“in“considerazioni“le“usuali“directory“di“installazione.“Si“si“sta“utilizzando“una“shell“bash“€è“possibileŽ¡in™ŸvÌÐocare–€ mio_programma“nel“modo“seÙ guente:ŽŸ*8ïhtml:ï html:Ÿ ˆûÀLD_LIBRARY_PATH=.:$LD_LIBRARY_PATH‘
ÌÌmio_programmaŽŸi·ïhtml:ï html:Ÿ–I½Se–€ si“vuole“utilizzare“una“libreria“sostituendone“solo“alcune“funzioni,“€è“possibile“fægarlo“creando“un“le“oggetto“eŽ¡asseÙ gnando–€ LD_PRELO¦gAD;“le“funzioni“in“questo“le“oggetto“si“sostituiranno“a“quelle“gi€à“presenti“nella“libreriaŽ¡(lasciando–€ le“altre“in™ŸvÀ ariate).ŽŸÊ8ïhtml:ï html:Ÿ5ÈSolitamente–lö€è“possibile“aggiornare“le“librerie“senza“troppe“preoccupazioni;“se“ci“sono“state“všÀ ariazioni“a“li˜vÙ ello“di“API,Ž¡si–€ suppone“che“il“creatore“della“libreria“ne“abbia“cambiato“il“soname.“In“questo“modo,“dierenti“vÙ ersioni“di“unaŽŽŸ0 ºâïcolor push Black’Ê Ã10ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 :M žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâ½singola–€ libreria“possono“coesistere“in“uno“stesso“sistema“e“quella“corretta“viene“selezionata“per“ogni“programma.Ž¤
ºâComunque,–€ se“un“programma“smette“di“funzionare“in“seÙ guito“all'aggiornamento“di“una“libreria“che“ha“mantenuto“loŽ¡ºâstesso–€ soname,“€è“possibile“forzarlo“ad“utilizzare“la“všÙ ecchia“v˜ersione“di“libreria“fægacendo“una“copia“della“v˜ecchiaŽ¡ºâlibreria–€ da“qualche“parte,“rinominando“il“programma“(ad“esempio“con“il“všÙ ecchio“nome“se˜guito“da“".orig"),“e“quindiŽ¡ºâsostituendolo–€ con“un“breÀ všÙ e“script“("wrapper")“che“riasse˜gna“la“libreria“da“utilizzare“prima“di“chiamare“il“v˜eroŽ¡ºâprogramma–€ (precedentemente“rinominato).“Si“pu€ò“porre“la“vÙ ecchia“libreria“in“una“particolare“locazione,“seŽ¡ºâpreferibile,–panche“se“le“con™ŸvšÙ enzioni“sulla“numerazione“permettono,“in“generale,“la“coesistenza“di“v˜ersioni“dierenti“inŽ¡ºâuna–€ medesima“directory‘ÿY .“Lo“script“potrebbe“aÌÐvšÙ ere“un“aspetto“simile“al“se˜guente:ŽŸ³3‘
‡®À#!/bin/shŽ¤³3‘
‡®export‘ffLD_LIBRARY_PATH=/usr/local/mia_lib:$LD_LIBRARY_PATHŽ¡‘
‡®exec–ff/usr/bin/mio_programma.orig“$*Ž© ºâ½€È–€ comunque“raccomandabile“non“fægare“adamento“su“questa“possibilit€à“quando“si“scriÀ vÙ e“il“proprio“codice;“si“cerchiŽ¤
ºâpiuttosto–n¼di“accertarsi“che“le“proprie“librerie“siano“retrocompatibili“o“che“si“sia“incrementato“il“numero“di“vÙ ersione“nelŽ¡ºâsoname–€ ogni“vÌÐolta“che“sia“stata“inserita“una“incompatibilit€à.“Questo“€è“solo“un“approccio“di“"emerÑðgenza"“adatto“adŽ¡ºâarontare–€ problemi“che“si“všÙ ericano“nel“pe˜ggiore“dei“casi.ŽºâŸ*8ïhtml:ï html:Ÿ
ÕȀȖ€ possibile“visualizzare“l'elenco“delle“librerie“condiÀ vise“utilizzate“da“un“programma“usando“ïhtml:ï html:Àldd(1)½.“Ad“esempio,“siŽ¡possono–€ elencare“le“librerie“condiÀ vise“usate“da“ls“digitando“il“comando:ŽŸ*8ïhtml:ï html:Ÿ ˆû‘
ÌÌÀldd‘ff/bin/lsŽ¦½Generalmente–€ všÙ err€à“mostrato“un“elenco“dei“soname“da“cui“il“programma“dipende“assieme“alle“directory“do˜v˜e“questiŽ¡nomi–€ všÙ engono“risolti.“Nella“quasi“totalit€à“dei“casi“si“osserv˜eranno“almeno“due“dipendenze:‘ ïhtml:ï html:ŽŸ*8ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:ïhtml:ï html:À/lib/ld-linux.so.N›€ ½(do•Ù v“e˜N˜€è˜1˜o˜un˜vÀ alore˜superiore,˜in˜genere˜almeno˜2).˜Questa˜€è˜la˜libreria˜che˜caricaŽ¡‘
tutte–€ le“altre.Žž”ïhtml:ï html:Ÿælïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:ïhtml:ï html:Àlibc.so.N›€ ½(do•Ù v“e˜N˜€è˜6˜o˜pi€ù).˜Questa˜€è˜la˜libreria˜del˜C.˜Anche˜altri˜linguaggi˜tendono˜ad˜utilizzare˜la˜libreriaŽ¡‘
del–€ C“(se“non“altro“per“implementare“le“proprie“librerie),“quindi“la“maggior“parte“dei“programmi“la“include.ŽŸ Attenzione:–€ ïhtml:ï html:Ãnon“½si“eseÙ gua“ïhtml:ï html:Àldd“½su“un“programma“di“cui“non“ci“si“da.“Come“chiaramente“aermato“nel“manuale“diŽ¡ïhtml:ï html:Àldd(1)½,–€ ïhtml:ï html:Àldd“½funziona“(in“alcuni“casi)“asseÙ gnando“una“particolare“vÀ ariabile“d'ambiente“(per“oggetti“in“formato“ELFŽ¡si–€ tratta“di“LD_TRA™ŸCE_LO¦gADED_OBJECTS)“e“successi•À v“amente–€ eseÙ guendo“il“programma.“Pu€ò“risultare“possibileŽ¡per–€ un“programma“forzare“l'utente“di“ïhtml:ï html:Àldd“½ad“esešÙ guire“un“arbitrario“se˜gmento“di“codice“(in™Ÿv˜ece“che“semplicementeŽ¡mostrare–€ le“informazioni“che“ïhtml:ï html:Àldd“½produce).“Quindi,“per“ragioni“di“sicurezza,“non“si“usi“ïhtml:ï html:Àldd“½su“programmi“che“non“ciŽ¡si–€ derebbe“ad“eseÙ guire.ŽŸ*8ïhtml:ï html:Ÿ!obÆ3.6.–UüLibrerie“incompatibiliŽŸ{ãïhtml:ï html:Ÿ
„½Quando–€ una“nuošÙ vÀ a“v˜ersione“di“una“libreria“diÀ v˜enta“incompatibile“a“liÀ v˜ello“binario“con“la“precedente,“il“soname“deÀ v˜eŽ¡cambiare.–€ In“C“esistono“quattro“principali“motišÀ vi“per“cui“una“libreria“cessa“di“essere“compatibile“a“li˜vÙ ello“binario:‘ ïhtml:ï html:ŽŸ*8ïhtml:ï html:ŸÕÈ‘ ïcolor push Black1.‘€ ï color popŽŽ‘ ïhtml:ï html:il–€ comportamento“di“una“funzione“cambia“cos€ì“da“non“corrispondere“pi€ù“alle“speciche“originali,ŽŸ*8ïhtml:ï html:ŸÕÈ‘ ïcolor push Black2.‘€ ï color popŽŽ‘ ïhtml:ï html:ci–€ sono“vÀ ariazioni“nelle“strutture“dati“esportate“(un'eccezione:“aggiungere“attribÌÐuti“opzionali“in“fondo“a“struttureŽ¡‘ pu€ò–€ essere“accettabile“a“condizione“che“tali“strutture“vÙ engó7ano“allocate“unicamente“all'interno“della“libreriaŽ¡‘ stessa),ŽŸÊ8ïhtml:ï html:ŽŸ0 ºâïcolor push Black’Ê Ã11ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 MÌ žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ‘ºâïcolor push Black½3.‘€ ï color popŽŽ‘ºâïhtml:ï html:viene–€ rimossa“una“funzione“precedentemente“esportata,ŽºâŸ*8ïhtml:ï html:ŸÕÈ‘ ïcolor push Black4.‘€ ï color popŽŽ‘ ïhtml:ï html:l'interfægaccia–€ di“una“funzione“esportata“viene“modicata.ŽŸ Ÿ ïhtml:ï html:¤
Se–€ si“possono“ešÀ vitare“questi“moti˜vi“risulta“allora“possibile“mantenere“la“compatibilit€à“binaria“delle“librerie.“Detto“inŽ¡altri–€ termini,“€è“possibile“mantenere“compatibile“l'interfægaccia“binaria“vÙ erso“le“applicazioni“(ABI“-“Application“BinaryŽ¡Interfægace)–€ se“si“eÀ vitano“simili“modiche.“Per“esempio,“si“potrebbe“vÌÐoler“aggiungere“delle“nuo•Ù v“e–€ funzioni,“ma“nonŽ¡eliminare–rÈquelle“všÙ ecchie.“Si“possono“aggiungere“elementi“alle“strutture,“ma“solo“accertandosi“che“i“v˜ecchi“programmiŽ¡non–€ saranno“sensibili“al“cambiamento“aggiungendoli“solo“in“fondo“alle“strutture“preesistenti,“permettendo“solo“allaŽ¡libreria–€ (e“non“alle“applicazioni)“l'allocazione“di“tali“strutture,“rendendo“opzionale“l'uso“dei“termini“aggiunti“(oŽ¡fægacendo–€ in“modo“che“sia“la“libreria“ad“asseÙ gnarli“opportunamente)“e“cos€ì“via.“Attenzione:“probabilmente“non“€èŽ¡possibile–€ espandere“delle“strutture“se“gli“utenti“le“stanno“utilizzando“neÙ gli“array‘ÿY .Ž©*8ïhtml:ï html:Ÿ
ÕÈPer–€ il“C++“(e“altri“linguaggi“che“supportano“la“compilazione“di“codice“in“forma“di“template“e/o“meccanismi“diŽ¡risoluzione–€ delle“chiamate“di“metodi“determinati“in“fægase“compilazione)“la“situazione“€è“pi€ù“complessa.“RisultanoŽ¡vÀ alidi–€ tutti“gli“arÑðgomenti“gi€à“citati“ai“quali“se“ne“aggiungono“numerosi“altri.“La“ragione“risiede“nel“fægatto“che“alcuneŽ¡informazioni–€ vÙ engono“inserite“nel“codice“compilato“in“maniera“non“direttamente“visibile“allo“sviluppatore,“risultandoŽ¡in–€ dipendenze“che“possono“non“essere“oÙ vvie“se“non“si“ha“presente“come“il“C++“viene“tipicamente“implementato.“DiŽ¡fšægatto,–€ non“si“tratta“di“problematiche“"nuo•Ù v“e",–€ €è“solo“che“il“codice“C++“compilato“pu€ò“f˜arle“emerÑðgere“in“modi“cheŽ¡possono–w¦risultare“inaspettati.“Quella“che“seÙ gue“€è“una“lista“(probabilmente“incompleta)“di“cose“che“non“si“possono“fægareŽ¡in–€ C++“mantenendo“la“compatibilit€à“binaria,“come“riportata“da“ïhtml:ï html:T¦groll“T›ÿLÐech'‘ÿs8s“T˜echnical“F‘ÿBA‘ÿs8QŽ¡(http://www‘ÿY .trolltech.com/deÀ vÙ eloper/fægaq/tech.html#bincomp):‘ ïhtml:ï html:Ž¦ïhtml:ï html:ŸÕÈ‘ ïcolor push Black1.‘€ ï color popŽŽ‘ ïhtml:ï html:aggiungere–€ reimplementazioni“di“funzioni“virtuali“(a“meno“che“non“sia“possibile“per“le“applicazioni“esistentiŽ¡‘ continuare–€ a“chiamare“l'implementazione“originale),“dato“che“ClasseBase::funzioneV‘ÿfgirtuale()“viene“vÀ alutata“inŽ¡‘ fšægase–€ di“compilazione“(e“non“in“f˜ase“di“link).Ž©*8ïhtml:ï html:ŸÕÈ‘ ïcolor push Black2.‘€ ï color popŽŽ‘ ïhtml:ï html:aggiungere–€ o“rimuo•Ù v“ere–€ funzioni“membro“virtuali,“dato“che“questo“modicherebbe“la“dimensione“e“la“strutturaŽ¡‘ della–€ vtbl“di“ogni“sottoclasse.Ž¦ïhtml:ï html:ŸÕÈ‘ ïcolor push Black3.‘€ ï color popŽŽ‘ ïhtml:ï html:modicare–€ il“tipo“di“un“qualunque“dato“membro“o“spostare“un“qualunque“dato“membro“a“cui“si“ha“accessoŽ¡‘ tramite–€ funzioni“membro“dichiarate“inline.Žž”ïhtml:ï html:Ÿæl‘ ïcolor push Black4.‘€ ï color popŽŽ‘ ïhtml:ï html:modicare–€ l'albero“di“una“gerarchia“di“classi,“eccetto“per“aggiungere“nuo•Ù v“e‘€ foglie.Ž¦ïhtml:ï html:ŸÕÈ‘ ïcolor push Black5.‘€ ï color popŽŽ‘ ïhtml:ï html:aggiungere–€ o“rimuo•Ù v“ere–€ dati“membro“pri•À v“ati,–€ dato“che“questo“modicherebbe“dimensione“e“struttura“di“ogniŽ¡‘ sottoclasse.Žž”ïhtml:ï html:Ÿæl‘ ïcolor push Black6.‘€ ï color popŽŽ‘ ïhtml:ï html:rimuo•Ù v“ere–€ funzioni“membro“pubbliche“o“protette“a“meno“che“non“siano“dichiarate“inline.Ž¦ïhtml:ï html:¤ÕÈ‘ ïcolor push Black7.‘€ ï color popŽŽ‘ ïhtml:ï html:rendere–€ inline“una“funzione“membro“pubblica“o“protetta.Ž¦ïhtml:ï html:¡‘ ïcolor push Black8.‘€ ï color popŽŽ‘ ïhtml:ï html:modicare–€ il“comportamento“di“una“funzione“inline,“a“meno“che“la“všÙ ecchia“v˜ersione“non“continui“a“funzionare.Ž¦ïhtml:ï html:¡‘ ïcolor push Black9.‘€ ï color popŽŽ‘ ïhtml:ï html:modicare–€ i“prišÀ vileÙ gi“di“accesso“(v˜ale“a“dire“pubblico,“protetto“o“pri˜v˜ato)“di“una“funzione“membro“in“unŽ¤
‘ programma–€ che“intenda“mantenere“una“certa“portabilit€à“in“quanto“alcuni“compilatori“inseriscono“i“priÀ vileÙ gi“diŽ¡‘ accesso–€ nella“decorazione“del“nome“di“funzione.ŽŸ Ÿ ïhtml:ï html:¡Data–€ la“lungó7a“lista,“gli“sviluppatori“di“librerie“in“C++“doÙ vranno“pianicare“lo“sviluppo“con“particolare“attenzione“seŽ¡vÌÐorranno–€ minimizzare“gli“aggiornamenti“che“ne“possano“compromettere“la“compatibilit€à“a“liÀ vÙ ello“binario.Ž¡FÙ ortunatamente,–€ nei“sistemi“di“tipo“Unix“(Linux“incluso)“si“possono“caricare“ed“utilizzare“contemporaneamenteŽŽŸ0 ºâïcolor push Black’Ê Ã12ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹
6 aâ žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâ½dierenti–€ vÙ ersioni“di“una“stessa“libreria,“cos€ì“che,“anche“se“con“qualche“penalizzazione“in“termini“di“occupazioneŽ¤
ºâdello–€ spazio“disco,“gli“utenti“possono“continuare“ad“esešÙ guire“"v˜ecchi"“programmi“che“richiedono“le“v˜ecchie“librerie.ŽºâŸ*8ïhtml:ï html:Ÿ%ZçÂ4.– ÈLibrerie“caricate“dinamicamenteŽŸaAïhtml:ï html:ŸÑò½Le–€ librerie“caricate“dinamicamente“sono“librerie“che“vÙ engono“caricate“in“memoria“in“momenti“successiÀ vi“all'aÌÐvvioŽ¡del–€ programma.“Risultano“particolarmente“utili“nell'implementazione“di“ïhtml:ï html:Ã"plugins"‘ž¸½o“moduli,“dal“momento“cheŽ¡permettono–€ di“attendere,“per“il“caricamento“deÙ gli“stessi,“il“momento“in“cui“risultino“necessari“all'applicazione.“AdŽ¡esempio,–€ il“sistema“di“autenticazione“P‘ÿAM“(Pluggó7able“Authentication“Modules)“usa“librerie“a“caricamento“dinamicoŽ¡per–€ permettere“agli“amministratori“di“congurarne“e“ricongurarne“il“funzionamento.“Risultano“inoltre“utiliŽ¡nell'implementazione–€ di“interpreti“che“vÌÐogliano“occasionalmente“compilare“il“codice“in“esecuzione“e“utilizzarne“laŽ¡vÙ ersione–€ compilata“per“motiÀ vi“di“ecienza,“il“tutto“senza“fermarsi.“Per“esempio,“questo“approccio“pu€ò“essere“utileŽ¡nell'implementare–€ un“compilatore“JIT“(just-in-time)“o“un“gioco“multi-utente“(MUD,“multi-user“dungeon).Ž©*8ïhtml:ï html:Ÿ
ÕÈSotto–€ Linux,“le“librerie“a“caricamento“dinamico“non“sono“in“realt€à“nulla“di“particolare“dal“punto“di“vista“del“formato;Ž¡consistono–€ in“comuni“le“oggetto“o“comuni“librerie“condiÀ vise,“come“discusso“in“precedenza.“La“principale“dierenzaŽ¡consiste–€ nel“fægatto“che“non“všÙ engono“automaticamente“caricate“al“momento“del“colle˜gó7amento“o“all'aÌÐvvio“di“unŽ¡programma;–€ esiste“in™ŸvÙ ece“un'API“per“aprire“una“libreria,“ricercarvi“simboli,“gestire“errori“e“chiudere“la“libreria.“PerŽ¡accedere–€ a“questa“interfægaccia“gli“utilizzatori“del“linguaggio“C“doÙ vranno“includere“il“le“ïhtml:ï html:À½.Ž¦ïhtml:ï html:Ÿ
ÕÈL‘ÿ'interfægaccia–€ utilizzata“da“Linux“€è“essenzialmente“la“stessa“usata“sotto“Solaris,“che“chiamer€ò“API“"dlopen()".“D'altroŽ¡canto,–€ non“tutte“le“piattaforme“supportano“questa“medesima“interfægaccia.“HP-UX“utilizza“un“meccanismo“dierente,Ž¡basato–€ su“shl_load(),“e“le“piattaforme“W™ŸindoÀ ws“usano“le“DLL,“con“un'interfægaccia“completamente“dierente.“SeŽ¡un'ampia–€ portabilit€à“do•Ù v“esse–€ fægar“parte“dei“requisiti,“si“doÙ vrebbe“probabilmente“prendere“in“considerazione“l'utilizzoŽ¡di–€ qualche“libreria“che,“attraÌÐvšÙ erso“un'ulteriore“liÀ v˜ello“di“astrazione,“mascheri“le“dierenze“fra“le“vÀ arie“piattaforme.Ž¡Una–€ possibile“soluzione“€è“rappresentata“dalla“libreria“ïhtml:ï html:Àglib½,“con“il“suo“supporto“al“caricamento“dinamico“di“moduli;Ž¡utilizza–€ le“procedure“per“il“caricamento“dinamico“caratteristiche“della“piattaforma“sottostante“per“implementareŽ¡un'interfægaccia–€ portabile“a“queste“funzioni.“Ulteriori“informazioni“su“glib“sono“disponibili“pressoŽ¡ïhtml:ï html:http://deÀ vÙ eloper‘ÿs8.gnome.orÑðg/doc/API/glib/glib-dynamic-loading-of-modules.html.–€ Dal“momento“che“l'interfægaccia“diŽ¡ïhtml:ï html:Àglib–€ ½€è“bene“illustrata“dalla“sua“documentazione“non“la“discuter€ò“ulteriormente“in“questa“sede.“Un“altro“approccioŽ¡consiste–€ nell'utilizzare“ïhtml:ï html:Àlibltdl½,“parte“di“ïhtml:ï html:GNU“libtool“(http://www‘ÿY .gnu.orÑðg/softwægare/libtool/libtool.html).“Se“fosseroŽ¡richieste–€ ulteriori“funzionalit€à,“si“potrebbe“allora“vÌÐoler“prendere“in“considerazione“l'uso“di“un“Object“Request“BrokægerŽ¡(ORB),–€ caratteristico“di“CORB¦gA.“Se“in™ŸvÙ ece“si“€è“ancora“interessati“ad“utilizzare“direttamente“l'interfægaccia“supportataŽ¡da–€ Linux“e“Solaris,“si“pu€ò“continuare“a“leÙ ggere.Ž¦ïhtml:ï html:Ÿ
ÕÈGli–u±sviluppatori“che“utilizzano“il“C++“e“librerie“a“caricamento“dinamico“doÙ vrebbero“consultare“inoltre“il“"C++“dlopenŽ¡mini-HO¦gWTÑðO".Žž”ïhtml:ï html:Ÿ"€Æ4.1.‘Uüdlopen()ŽŸ{ãïhtml:ï html:Ÿ
„½La–€ funzione“dlopen(3)“apre“una“libreria“e“la“inizializza“all'uso.“Il“prototipo“in“C“di“tale“funzione“€è:Ž©*8ïhtml:ï html:Ÿ ˆû‘
ÌÌÀvoid–ff*“dlopen(const“char“*nome_del_file,“int“flag);ŽŸ ½Se–€ il“nome“del“le“inizia“con“"/"“(si“tratta“cio€è“di“un“percorso“assoluto),“dlopen()“pro•Ù v“er€à–€ ad“utilizzarlo“direttamenteŽ¡(non–€ vÙ err€à“quindi“eettuata“nessuna“ricerca“per“localizzare“la“libreria).“Altrimenti,“dlopen()“cercher€à“la“libreria“con“ilŽ¡seÙ guente‘€ ordine:‘ ïhtml:ï html:Ž¦ïhtml:ï html:ŽŸ0 ºâïcolor push Black’Ê Ã13ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 xH žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ‘ºâïcolor push Black½1.‘€ ï color popŽŽ‘ºâïhtml:ï html:in–€ una“lista“di“directory“separata“da“doppi“punti“nella“vÀ ariabile“d'ambiente“LD_LIBRAR‘ÿY Y_P‘ÿA‘þã×TH.Žºâ¤*8ïhtml:ï html:©ÕÈ‘ ïcolor push Black2.‘€ ï color popŽŽ‘ ïhtml:ï html:nella–€ lista“di“librerie“specicata“in“ïhtml:ï html:À/etc/ld.so.cache“½(che“€è“generata“da“ïhtml:ï html:À/etc/ld.so.conf½).Ž¡ïhtml:ï html:¦‘ ïcolor push Black3.‘€ ï color popŽŽ‘ ïhtml:ï html:in–€ ïhtml:ï html:À/lib½,“sešÙ guita“da“ïhtml:ï html:À/usr/lib½.“Si“noti“che“l'ordine“in“questo“caso“specico“€è“l'in™Ÿv˜erso“di“quello“utilizzato“dalŽ¤
‘ vÙ ecchio–€ caricatore“per“il“formato“a.out.“Nel“caricare“un“programma,“il“caricatore“a.out“cercaÌÐvÀ a“infægatti“prima“inŽ¡‘ ïhtml:ï html:À/usr/lib–€ ½e,“successi•À v“amente,–€ in“ïhtml:ï html:À/lib“½(si“vÙ eda“la“pagina“man“di“ïhtml:ï html:Àld.so(8)½).“Questo“normalmente“nonŽ¡‘ došÙ vrebbe–{fægare“dierenza,“dal“momento“che“una“stessa“libreria“do˜vrebbe“essere“solo“in“una“o“nell'altra“directory“eŽ¡‘ che–€ librerie“diÀ všÙ erse,“ma“con“lo“stesso“nome“sono“un“disastro“che“attende“solo“di“v˜ericarsi.ŽŸ Nella–€ chiamata“a“dlopen(),“il“všÀ alore“di“ïhtml:ï html:ó‰š
pcrro8tÉflag‘è½de˜vÙ e“essere“o“R‘ÿfgTLD_LAZY‘þµÇ,“che“signica“"risolvi“i“simboli“non“denitiŽ¡nel–€ momento“in“cui“del“codice“fægacente“parte“della“libreria“dinamica“viene“eseÙ guito",“o“R‘ÿfgTLD_NO¦gW‘ÿ,“che“signicaŽ¡"risolvi–€ tutti“i“simboli“non“deniti“prima“che“dlopen()“ritorni“e“fægallisci“se“questo“non“fosse“possibile".Ž¡R‘ÿfgTLD_GLOB¦gAL–€ pu€ò“essere“opzionalmente“combinato“all'uno“o“all'altro“vÀ alore“di“ïhtml:ï html:Éflag‘è½(tramite“un“operazione“diŽ¡OR)–€ stando“cos€ì“ad“indicare“che“i“simboli“con“collešÙ gó7amento“esterno“deniti“nella“libreria“v˜erranno“resi“disponibiliŽ¡alle–€ librerie“caricate“successi•À v“amente.–€ Durante“il“debÌÐug“€è“in“genere“preferibile“usare“R‘ÿfgTLD_NO¦gW¡G;“usareŽ¡R‘ÿfgTLD_LAZY–€ pu€ò“creare“errori“non“immediatamente“visibili“nel“caso“in“cui“esistano“riferimenti“non“risolti.“UsareŽ¡R‘ÿfgTLD_NO¦gW–€ rende“l'apertura“di“una“libreria“lešÙ ggermente“pi€ù“lenta“(ma“in“se˜guito“la“ricerca“dei“simboli“risulta“pi€ùŽ¡rapida);–€ se“questo“do•Ù v“esse–€ causare“problemi“a“liÀ vÙ ello“di“interfægaccia“utente“€è“comunque“possibile“passare“ad“utilizzareŽ¡R‘ÿfgTLD_LAZY–€ in“un“successiÀ vÌÐo“momento.ŽŸ/\ïhtml:ï html:ŸÐ¤Se–€ una“libreria“dipende“da“un'altra“(ad“esempio,“X“dipende“da“Y),“€è“necessario“aprire“prima“quella“dipendenteŽ¡(nell'esempio,–€ prima“Y“e“poi“X).Ž©*8ïhtml:ï html:Ÿ
ÕÈIl–€ vÀ alore“restituito“da“dlopen()“€è“un“descrittore“(un“"handle")“che“doÙ vrebbe“essere“considerato“come“un“riferimento“daŽ¡utilizzarsi–€ nelle“successiÀ vÙ e“chiamate“alle“altre“funzioni“di“libreria“per“il“caricamento“dinamico.“dlopen()“restituisceŽ¡NULL–€ se“il“tentatiÀ všÌÐo“di“caricamento“non“do•Ù v“esse‘€ a˜v“ere–€ successo,“e“questa“condizione“andrebbe“vÙ ericata.“Se“unaŽ¡stessa–€ libreria“viene“caricata“pi€ù“di“una“vÌÐolta“con“dlopen(),“viene“restituito“lo“stesso“descrittore.Ž¦ïhtml:ï html:Ÿ
ÕÈSulle–€ vÙ ecchie“piattaforme,“nel“caso“in“cui“una“libreria“esporti“una“procedura“chiamata“_init,“tale“funzione“vieneŽ¡eseÙ guita–€ prima“che“dlopen()“ritorni.“Si“pu€ò“utilizzare“questa“caratteristica“nelle“proprie“librerie“per“implementareŽ¡delle–€ procedure“di“inizializzazione.“Ad“ogni“modo,“una“libreria“non“doÙ vrebbe“esportare“delle“procedure“con“nomeŽ¡_init–€ e/o“_ni.“T‘ÿ37ali“meccanismi“sono“obsoleti“e“possono“dare“luogo“a“comportamenti“indesiderati.“Piuttosto,“unaŽ¡libreria–lÄdoÙ vrebbe“esportare“procedure“che“utilizzano“gli“attribÌÐuti“di“funzione“ïhtml:ï html:À__attribute__((constructor))“½edŽ¡ïhtml:ï html:À__attribute__((destructor))–€ ½(assumendo“che“si“stia“utilizzando“ïhtml:ï html:Àgcc½).“Si“vÙ eda“ïcolor push gray 0ï!html:la“Sezione“5.2ï html:ï color pop“per“ulterioriŽ¡informazioni.Ž©”ïhtml:ï html:Ÿ#€Æ4.2.‘Uüdlerr“or()ŽŸ{ãïhtml:ï html:Ÿ
„½EvšÙ entuali–€ errori“possono“essere“v˜ericati“attraÌÐv˜erso“una“chiamata“a“dlerror(),“la“quale“restituisce“una“stringó7a“cheŽ¡descriÀ vÙ e–€ l'errore“generato“dall'ultima“chiamata“a“dlopen(),“dlsym(),“o“dlclose().“Una“stranezza“consiste“nel“fægatto“cheŽ¡dopo–€ una“chiamata“a“dlerror(),“successiÀ vÙ e,“ulteriori“chiamate“a“dlerror()“restituiranno“NULL“no“a“che“un“ulterioreŽ¡errore–€ non“si“do•Ù v“esse‘€ v“ericare.Ž¦ïhtml:ï html:Ÿ#€Æ4.3.‘Uüdlsym()ŽŸ{ãïhtml:ï html:Ÿ
„½Non–€ esiste“motiÀ vÌÐo“di“caricare“dinamicamente“una“libreria“se“poi“non“la“si“pu€ò“utilizzare.“La“funzione“principale“perŽ¡l'uso–€ di“una“libreria“a“caricamento“dinamico“€è“dlsym(3),“che“ricerca“il“vÀ alore“di“un“simbolo“in“una“data“libreriaŽ¡(precedentemente–€ aperta).“T‘ÿ37ale“funzione“€è“dichiarata“come:ŽŸ*8ïhtml:ï html:Ÿ ˆû–ffÀvoid“*“dlsym(void“*handle,“char“*simbolo);ŽŽŸ0 ºâïcolor push Black’Ê Ã14ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 Œo žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâ½in–€ cui“"handle"“€è“il“všÀ alore“restituito“da“dlopen“e“"simbolo"“€è“una“stringó7a“terminata“da“zero.“Se“possibile,“si“e˜viti“diŽ¤
ºâassešÙ gnare–€ il“risultato“di“dlsym()“ad“un“puntatore“di“tipo“vÌÐoid*,“dato“che“andrebbe“con™Ÿv˜ertito“tramite“un“cast“ad“ogniŽ¡ºâutilizzo–€ (e“fornirebbe“meno“informazioni“ad“altri“sviluppatori“che“do•Ù v“essero›€ tro“vÀ arsi˜ad˜interv“enire˜sul˜programma).Žºâ©*8ïhtml:ï html:Ÿ
ÕÈdlsym()–€ restituisce“NULL“come“risultato“se“il“simbolo“non“viene“troÙ vÀ ato.“Se“risulta“noto“a“priori“che“il“simbolo“nonŽ¡pu€ò–€ mai“assumere“come“vÀ alore“NULL“o“zero,“questo“pu€ò“bastare,“ma“altrimenti“pu€ò“esistere“una“potenzialeŽ¡ambiguit€à:–€ se“si“ottiene“NULL,“signica“che“il“simbolo“non“esiste“o“che“NULL“€è“il“vÀ alore“del“simbolo“stesso?“LaŽ¡soluzione–€ standard“consiste“nel“chiamare“prima“dlerror()“(per“annullare“ogni“precedente“condizione“di“errore),“quindiŽ¡richiedere–€ il“simbolo“tramite“la“chiamata“a“dlsym()“ed“inne“chiamare“ancora“dlerror()“per“všÙ ericare“se“si“€è“v˜ericatoŽ¡un–€ errore.“Un“ipotetico“frammento“di“codice“assomiglierebbe“al“seÙ guente:ŽŸ*8ïhtml:ï html:Ÿ ˆû–ffÀdlerror();“/*“annulla“precedenti“condizioni“di“errore“*/Ž¤³3–ffs“=“(vero_tipo)“dlsym(handle,“simbolo_da_cercare);Ž¡–ffif“((err“=“dlerror())“!=“NULL)“{Ž¡‘
ÌÌ/*–ffsimbolo“non“trovato,“gestisce“l'errore“*/Ž¡–ff}“else“{Ž¡‘
ÌÌ/*–ffsimbolo“trovato,“s“ne“contiene“il“valore“*/Ž¡‘ff}ŽŸ Ÿ ïhtml:ï html:Ÿ#™šÆ4.4.‘Uüdlc“lose()ŽŸ{ãïhtml:ï html:Ÿ
„½L‘ÿ'in™ŸvÙ erso–€ di“dlopen()“€è“dlclose(),“che“chiude“una“libreria“a“caricamento“dinamico.“La“libreria“ïhtml:ï html:Àdl“½mantiene“unŽ¤
conteÙ ggio–€ dei“riferimenti“alle“librerie“aperte,“quindi“una“libreria“a“caricamento“dinamico“non“viene“in“realt€àŽ¡deallocata–€ n“tanto“che“dlclose“non“sia“stata“chiamata“su“di“essa“tante“vÌÐolte“quante“dlopen“€è“stata“chiamata“conŽ¡successo–{Ãsulla“stessa“libreria.“Quindi“non“€è“un“problema“per“un“programma“caricare“la“stessa“libreria“pi€ù“di“una“vÌÐolta.Ž¡Nelle–€ librerie“pi€ù“vÙ ecchie,“nel“momento“in“aÌÐvviene“la“deallocazione,“viene“chiamata“la“funzione“_ni“(ammesso“cheŽ¡sia–€ denita),“ma“_ni“rappresenta“un“meccanismo“obsoleto“sul“quale“non“si“doÙ vrebbe“fægare“adamento.“Piuttosto,“unaŽ¡libreria–lÄdoÙ vrebbe“esportare“procedure“che“utilizzano“gli“attribÌÐuti“di“funzione“ïhtml:ï html:À__attribute__((constructor))“½edŽ¡ïhtml:ï html:À__attribute__((destructor))½.–€ Si“vÙ eda“ïcolor push gray 0ï!html:la“Sezione“5.2ï html:ï color pop“per“ulteriori“informazioni.“Nota:“dlclose()“restituisce“0Ž¡se–€ eseÙ guita“con“successo,“un“vÀ alore“non“nullo“in“caso“di“errore;“alcune“pagine“di“manuale“di“Linux“non“fægannoŽ¡menzione–€ di“questo“particolare.Ž¦ï"html:ï html:Ÿ!obÆ4.5.–UüEsempio“di“libreria“a“caricamento“dinamicoŽŸ{ãïhtml:ï html:Ÿ
„½Ecco–€ un“esempio“dalla“pagina“man“di“dlopen(3).“Questo“esempio“carica“la“libreria“matematica“e“stampa“il“coseno“diŽ¡2.0,–€ controllando“eÀ vÙ entuali“errori“ad“ogni“operazione“(come“si“raccomanda“di“fægare“sempre):ŽŸ*8ïhtml:ï html:Ÿ ˆû‘™˜À#include‘ffŽ¤³3‘™˜#include‘ffŽ¡‘™˜#include‘ffŽ¡¡‘™˜int–ffmain(int“argc,“char“**argv)“{Ž¡‘+30void‘ff*handle;Ž¡‘+30double‘ff(*coseno)(double);Ž¡‘+30char‘ff*errore;Ž¡¡‘+30handle–ff=“dlopen“("/lib/libm.so.6",“RTLD_LAZY);Ž¡‘+30if–ff(!handle)“{ŽŽŸ0 ºâïcolor push Black’Ê Ã15ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ¢ä žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ‘@‡ªÀfputs–ff(dlerror(),“stderr);Ž¤³3‘@‡ªexit(1);Ž¡‘*î}Ž¡¡‘*îcoseno–ff=“dlsym(handle,“"cos");Ž¡‘*îif–ff((errore“=“dlerror())“!=“NULL)‘
ÌÌ{Ž¡‘@‡ªfputs(errore,‘ffstderr);Ž¡‘@‡ªexit(1);Ž¡‘*î}Ž¡¡‘*îprintf–ff("%f\n",“(*coseno)(2.0));Ž¡‘*îdlclose(handle);Ž¡‘Tz}Ž¤ ºâŸ ïhtml:ï html:©
½Se–€ questo“programma“fosse“in“un“le“chiamato“"pippo.c",“si“potrebbe“compilarlo“con“il“comando:ŽŸ*8ïhtml:ï html:Ÿ ˆû‘™˜Àgcc–ff-o“pippo“pippo.c“-ldlŽ¡Ÿ ïhtml:ï html:Ÿ'…Â5.‘ ÈMiscellaneaŽž.ïhtml:ï html:Ÿ"kŒÆ5.1.–UüIl“comando“nmŽŸ&aïhtml:ï html:ŸÙŸ½Il–€ comando“ïhtml:ï html:Ànm(1)“½pu€ò“mostrare“la“lista“dei“simboli“in“una“data“libreria.“Funziona“sia“con“librerie“statiche“cheŽ¦condišÀ vise.–€ Per“la“libreria“indicata“ïhtml:ï html:Ànm(1)“½pu€ò“elencare“i“nomi“dei“simboli“deniti,“il“v˜alore“di“ciascun“simbolo“ed“ilŽ¦corrispondente–€ tipo.“€È“inoltre“in“grado“di“indicare“do•Ù v“e–€ il“simbolo“era“denito“nel“codice“sorÑðgente“(tramite“nome“delŽ¦le–zˆe“numero“di“linea),“se“questa“informazione“€è“disponibile“nella“libreria“stessa“(si“vÙ eda“a“questo“proposito“l'opzioneŽ¦-l).ŽŸÊ8ïhtml:ï html:Ÿ5ÈIl–€ tipo“associato“al“simbolo“richiede“qualche“ulteriore“spieÙ gó7azione.“Il“tipo“€è“visualizzato“tramite“una“lettera;“unaŽ¦lettera–€ minuscola“signica“che“il“simbolo“€è“locale,“mentre“una“lettera“maiuscola“signica“che“il“simbolo“€è“globale“(aŽ¦colleÙ gó7amento–€ esterno).“Solitamente“i“tipi“associabili“ad“un“simbolo“comprendono:“T“(una“normale“denizione“nellaŽ¦sezione–€ di“codice),“D“(sezione“dati“inizializzata),“B“(sezione“dati“non“inizializzata),“U“(non“denito;“il“simbolo“€èŽ¦utilizzato–€ dalla“libreria,“ma“non“€è“denito“dalla“libreria“stessa),“e“W“(debole;“se“anche“un'altra“libreria“do•Ù v“esseŽ¦denire–€ questo“simbolo,“tale“denizione“aÌÐvrebbe“priorit€à“su“questa).ŽŸ*8ïhtml:ï html:Ÿ
ÕÈSe–€ si“conosce“il“nome“di“una“funzione,“ma“non“ci“si“ricorda“in“quale“libreria“fosse“denita,“si“pu€ò“utilizzare“l'opzioneŽ¦-o–€ di“ïhtml:ï html:Ànm“½(che“visualizza“il“nome“del“le“all'inizio“di“ogni“linea)“assieme“ad“un“grep“per“troÙ vÀ are“il“nome“della“libreria.Ž¦Gli–€ utenti“di“bash,“ad“esempio,“possono“ricercare“la“funzione“"cos"“in“tutte“le“librerie“in“ïhtml:ï html:À/lib½,“in“ïhtml:ï html:À/usr/libŽ¦½comprese–€ le“sue“immediate“sottodirectory“e“in“ïhtml:ï html:À/usr/local/lib“½con“il“seÙ guente“comando:ŽŸ*8ïhtml:ï html:Ÿ ˆûÀnm–ff-o“/lib/*“/usr/lib/*“/usr/lib/*/*“\ŽŸ³3‘ fd/usr/local/lib/*–ff2>“/dev/null“|“grep“'cos$'Ž¡Ÿ ïhtml:ï html:¦½Informazioni–€ molto“pi€ù“dettagliate“su“ïhtml:ï html:Ànm“½si“possono“troÙ vÀ are“nella“corrispondente“documentazione“"info"“installataŽ¦localmente–€ sotto:“ïhtml:ï html:info:binutils#nm.ŽŽŸ0 ºâïcolor push Black’ÉÊ@Ã16ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ²I žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ºâ ý ï html:ï html:Ÿ
Æ5.2.–UüLe“funzioni“costruttore“e“distruttore“di“una“libreriaŽŸ&aïhtml:ï html:ŸÙŸ½Le–€ librerie“doÙ vrebbero“esportare“le“procedure“di“inizializzazione“e“terminazione“utilizzando“gli“attribÌÐuti“di“funzioneŽ¤
ïhtml:ï html:À__attribute__((constructor))–€ ½ed“ïhtml:ï html:À__attribute__((destructor))“½di“ïhtml:ï html:Àgcc½.“Si“vÙ eda“a“questo“proposito“laŽ¡documentazione–€ di“ïhtml:ï html:Àgcc½.“Le“funzioni“costruttore“vÙ engono“chiamate“prima“del“ritorno“dalla“chiamata“a“dlopen“(oŽ¡prima–€ che“všÙ engó7a“ese˜guita“la“funzione“main()“se“la“libreria“viene“caricata“all'aÌÐvvio“del“programma).“Le“funzioniŽ¡distruttore–€ všÙ engono“ese˜guite“prima“del“ritorno“della“chiamata“a“dlclose“(o“dopo“e˜xit()“o“al“termine“dell'esecuzione“diŽ¡main()–€ se“la“libreria“viene“caricata“all'aÌÐvvio“del“programma).“I“prototipi“C“per“queste“funzioni“sono:Ž©*8ïhtml:ï html:Ÿ ˆû‘
ÌÌÀvoid–ff__attribute__((constructor))“mia_init(void);ŽŸ³3‘
ÌÌvoid–ff__attribute__((destructor))“mia_fini(void);ŽŸ Ÿ ïhtml:ï html:¡½Le–€ librerie“condiÀ vise“non“doÙ vrebbero“essere“compilate“fægacendo“uso“delle“opzioni“"-nostartles"“o“"-nostdlib"“di“ïhtml:ï html:Àgcc½.Ž¡Se–€ questo“aÌÐvvšÙ enisse“le“procedure“di“costruzione/distruzione“non“v˜errebbero“chiamate“(a“meno“che“non“si“applichinoŽ¡particolari‘€ accorÑðgimenti).ŽŸ*8ï&html:ï html:ŸUÈÇ5.2.1.–ǧLe“speciali“funzioni“_init“e“_ni“(OBSOLET™ŸO/PERICOLOSO)ŽŸèïhtml:ï html:Ÿ
î½Storicamente–€ sono“esistite“due“particolari“funzioni,“_init“e“_ni,“utilizzabili“nel“controllo“dell'inizializzazione“eŽ¡terminazione–€ di“una“libreria.“Ad“ogni“modo,“questo“meccanismo“€è“oggi“obsoleto“e“l'uso“di“queste“funzioni“pu€òŽ¡portare–€ a“risultati“non“predicibili.“Le“vÌÐostre“librerie“non“ne“doÙ vrebbero“quindi“fægare“uso;“si“utilizzino“piuttosto“gliŽ¡attribÌÐuti–€ ïhtml:ï html:Àconstructor“½e“ïhtml:ï html:Àdestructor“½descritti“in“precedenza.ŽŸ*8ïhtml:ï html:Ÿ
ÕÈSe–d•si“do•Ù v“esse›d•la•ÌÐv“orare˜su˜v•Ù ecchi˜sistemi˜o˜su˜v“ecchio˜codice˜che˜utilizzano˜_init˜o˜_ni,˜ecco˜un'illustrazione˜di˜comeŽ¡funzionaÌÐvÀ ano:–€ erano“denite“due“speciali“funzioni“per“l'inizializzazione“e“terminazione“di“un“modulo:“_init“e“_ni.Ž¡Se–q una“libreria“esporta“una“funzione“"_init",“questa“viene“chiamata“la“prima“vÌÐolta“che“viene“caricata“(tramite“dlopen()Ž¡o–€ semplicemente“all'aÌÐvvio“del“programma,“se“si“tratta“di“una“libreria“condiÀ visa).“In“un“programma“C,“questo“signicaŽ¡semplicemente–€ aÌÐvÙ er“denito“una“qualche“funzione“chiamata“_init.“Esiste“una“corrispondente“funzione“chiamata“_ni,Ž¡che–€ viene“chiamata“ogniqualvÌÐolta“l'uso“di“una“libreria“termina“(tramite“una“chiamata“a“dlclose()“che“ne“porta“ilŽ¡conteÙ ggio–€ dei“riferimenti“a“zero,“o“alla“normale“terminazione“del“programma).“I“prototipi“C“di“queste“funzioni“sono:Ž¦ïhtml:ï html:Ÿ ˆû‘
ÌÌÀvoid‘ff_init(void);ŽŸ³3‘
ÌÌvoid‘ff_fini(void);ŽŸ Ÿ ïhtml:ï html:¡½In–€ questo“caso,“nel“compilare“il“le“sorÑðgente“in“un“le“".o"“con“ïhtml:ï html:Àgcc½,“ci“si“deÀ vÙ e“assicurare“di“aggiungere“l'opzioneŽ¡"-nostartles".–€ Questo“eÀ vita“che“il“compilatore“C“colleÙ ghi“librerie“di“aÌÐvvio“di“sistema“al“le“".so".“In“caso“contrario“siŽ¡otterrebbero–€ errori“došÙ vuti“a“denizioni“multiple.“Si“noti“che“questo“€è“completamente“diÀ v˜erso“dal“compilare“unŽ¡modulo–€ utilizzando“gli“attribÌÐuti“di“funzione“indicati.“Si“ringraziano“Jim“Mischel“e“T¦gim“Gentry“per“il“suggerimento“diŽ¡aggiungere–€ questa“discussione“su“_init“e“_ni“e“per“l'assistenza“nel“comporla.ŽŸ*8ïhtml:ï html:Ÿ!obÆ5.3.–UüLe“librerie“condivise“possono“essere“scriptŽŸ{ãïhtml:ï html:Ÿ
„½V‘þã×ale–€ la“pena“di“notare“che“il“caricatore“GNU“permette“alle“librerie“condiÀ vise“di“essere“comuni“le“di“testo“cheŽ¡utilizzano–€ uno“speciale“linguaggio“di“scripting“in“luogo“del“consueto“formato“di“libreria.“Questo“pu€ò“risultare“utileŽŽŸ0 ºâïcolor push Black’É¡HÃ17ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ¿q žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâ½per–€ combinare“indirettamente“altre“librerie.“Per“esempio,“questo“€è“il“listato“di“ïhtml:ï html:À/usr/lib/libc.so“½su“uno“dei“mieiŽ©
ºâsistemi:ŽºâŸ
”ïhtml:ï html:Ÿ™ŸÀ/*–ffGNU“ld“scriptŽ¤³3‘32Use–ffthe“shared“library,“but“some“functions“are“only“inŽ¡‘32the–ffstatic“library,“so“try“that“secondarily.‘
ÌÌ*/Ž¡GROUP–ff(“/lib/libc.so.6“/usr/lib/libc_nonshared.a“)ŽŸ Ÿ ïhtml:ï html:¦½(Il–€ commento“presente“nel“listato“indica“che“preferibilmente“vÙ err€à“utilizzata“la“libreria“condiÀ visa“ïhtml:ï html:À/lib/libc.so.6½,Ž¦ma–€ che“dal“momento“che“alcune“funzionalit€à“sono“presenti“solo“nella“vÙ ersione“staticaŽ¦ïhtml:ï html:À/usr/lib/libc_nonshared.a–€ ½quest'ultima“vÙ err€à“utilizzata“nei“casi“in“cui“la“prima“non“fosse“suciente.“NDT)Ž¦Per–€ ulteriori“informazioni“a“questo“proposito“si“rimanda“alla“documentazione“teÙ xinfo“relati•À v“a–€ agli“script“per“il“linkægerŽ¦ïhtml:ï html:Àld–€ ½(ld“command“language).“Informazioni“generali“si“troÙ vÀ ano“in“info:ld#Options“and“info:ld#Commands,“mentre“iŽ¦comandi–€ di“uso“pi€ù“comune“sono“discussi“in“info:ld#Option“Commands.Ž¤*8ïhtml:ï html:Ÿ!obÆ5.4.–UüV‘ÿfferšÑósione“dei“simboli“e“script“di“ver˜sioneŽŸ{ãïhtml:ï html:Ÿ
„½T¦gipicamente–:i“riferimenti“a“funzioni“esterne“všÙ engono“colle˜gó7ati“quando“necessario“e“non“v˜engono“quindi“tutti“colle˜gó7atiŽ¦all'aÌÐvvio–€ del“programma.“Se“una“libreria“condiÀ visa“non“fosse“aggiornata,“qualche“porzione“dell'interfægaccia“richiestaŽ¦potrebbe–€ mancare;“se“l'applicazione“tentasse“di“utilizzarla“potrebbe“quindi“improÙ vvisamente“ed“inaspettatamenteŽ¦fægallire.ŽŸ”ïhtml:ï html:ŸælUna–€ soluzione“a“questo“problema“consiste“nel“controllo“di“všÙ ersione“dei“simboli“abbinato“a“script“di“v˜ersione.“Con“ilŽ¦controllo–€ di“všÙ ersione“dei“simboli“l'utente“pu€ò“riceÀ v˜ere“dei“messaggi“di“aÌÐvv˜ertimento“all'aÌÐvvio“dei“programmi“quandoŽ¦le–€ librerie“in“uso“do•Ù v“essero–€ risultare“troppo“všÙ ecchie.“€È“possibile“tro˜vÀ are“ulteriori“informazioni“su“questo“arÑðgomentoŽ¦nella–€ discussione“dešÙ gli“script“di“v˜ersione“contenuta“nel“manuale“di“ïhtml:ï html:Àld“½e“reperibile“pressoŽ¦ïhtml:ï html:http://www‘ÿY .gnu.orÑðg/manual/ld-2.9.1/html_node/ld_25.html.Ž¡ïhtml:ï html:Ÿ!obÆ5.5.–UüGNU“libtoolŽŸ&aïhtml:ï html:ŸÙŸ½Se–€ si“sta“sviluppando“un'applicazione“che“došÙ vr€à“essere“portata“su“diÀ v˜erse“piattaforme,“si“pu€ò“prendere“inŽ¦considerazione–€ l'uso“di“ïhtml:ï html:GNU“libtool“(http://www‘ÿY .gnu.orÑðg/softwægare/libtool/libtool.html)“per“la“compilazione“eŽ¦l'installazione–€ delle“librerie.“GNU“libtool“consiste“in“uno“script“generico“di“supporto“all'uso“di“librerie.“LibtoolŽ¦nasconde–€ la“complessit€à“d'uso“di“librerie“condiÀ vise“dietro“un'interfægaccia“consistente“e“portabile.“Libtool“fornisceŽ¦un'interfægaccia–€ indipendente“dalla“piattaforma“per“creare“le“oggetto,“produrre“librerie“(statiche“e“condiÀ vise),“produrreŽ¦ed–q¸esešÙ guire“il“debÌÐug“di“ese˜guibili,“installare“librerie“ed“ese˜guibili.“€È‘qµincluso“anche“libltdl,“che“fornisce“la“portabilit€à“aiŽ¦i–€ programmi“con“caricamento“dinamico.“Per“maggiori“informazioni“si“consulti“la“relati•À v“a–€ documentazione“pressoŽ¦ïhtml:ï html:http://www‘ÿY .gnu.orÑðg/softwægare/libtool/manual.htmlŽ¡ï html:ï html:Ÿ!obÆ5.6.›UüRim•Â“uo“vere˜i˜simboli˜per˜risparmiare˜spazioŽŸ{ãïhtml:ï html:Ÿ
„½TŒÏutti–€ i“simboli“inclusi“nei“le“generati“risultano“utili“per“il“debÌÐug,“ma“incrementano“le“dimensioni“dei“le“stessi.“Se“siŽ¦do•Ù v“essero›€ aÌÐv“ere˜problemi˜di˜spazio,˜€è˜possibile˜eliminarne˜una˜parte.Ž¡ïhtml:ï html:Ÿ
ÕÈL‘ÿ'approccio–€ migliore“consiste“nel“generare“i“le“oggetto“nel“modo“consueto“ed“eseÙ guire“in“primo“luogo“le“necessarieŽ¦procedure–€ di“debšÌÐug“e“vÙ erica“(che“risultano“fortemente“ageÀ v˜olate“dalla“presenza“dei“simboli).“Successi•À v“amente,‘€ unaŽ¦vÌÐolta–€ completata“la“všÙ erica“del“programma,“si“usi“ïhtml:ï html:Àstrip(1)“½per“rimuo˜v˜ere“i“simboli.“Il“comando“ïhtml:ï html:Àstrip(1)ŽŽŸ0 ºâïcolor push Black’Ê Ã18ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 Ñ„ žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâ½fornisce–€ un“bÌÐuon“grado“di“controllo“su“quali“simboli“eliminare;“si“consulti“la“documentazione“a“riguardo“per“unaŽ¤
ºâdettagliata‘€ descrizione.Žºâ©*8ïhtml:ï html:Ÿ
ÕÈUn–€ dierente“approccio“consiste“nell'uso“uso“delle“opzioni“"-S"“e“"-s"“del“linkæger“GNU“ïhtml:ï html:Àld½;“"-S"“omette“dal“leŽ¡prodotto–€ in“output“le“informazioni“relatiÀ vÙ e“ai“simboli“di“debÌÐug“(ma“non“tutti“i“simboli),“mentre“"-s"“omette“tutti“iŽ¡simboli.–€ €È“possibile“atti•À v“are–€ queste“opzioni“attraÌÐvÙ erso“il“compilatore“ïhtml:ï html:Àgcc“½con“"-Wl,-S"“e“"-Wl,-s".“Se“eliminare“iŽ¡simboli–€ rappresenta“la“procedura“normalmente“applicata“e“queste“opzioni“si“riÀ vÙ elano“sucienti“allo“scopo,“questoŽ¡metodo–€ pu€ò“essere“utilizzato“liberamente,“ma“si“tratta“di“un“approccio“meno“essibile.Ž¦ï!html:ï html:Ÿ!obÆ5.7.–UüEseguibili“estremamente“piccoliŽŸ«~ïhtml:ï html:Ÿ
T‚½L‘ÿ'articolo–€ ïhtml:ï html:Whirlægwind“TŒÏutorial“on“Creating“Really“T‘ÿLÐeensy“ELF“ExÙ ecutables“for“LinuxŽ¡(http://www–ÿY .muppetlabs.com/~breadbox/softwægare/tinšÙ y/teensy“.html)–€ potrebbe“riÀ v˜elarsi“utile.“DescriÀ v˜e“come“siaŽ¡possibile–€ produrre“un“esešÙ guibile“di“dimensioni“estremamente“ridotte.“P˜arlando“francamente,“la“maggior“parte“deiŽ¡trucchi–€ descritti“non“doÙ vrebbero“essere“utilizzati“nelle“normali“circostanze“in“cui“generalmente“si“opera,“ma“risultanoŽ¡piuttosto–€ istruttišÀ vi,“illustrando“l'eetti˜vÌÐo“funzionamento“del“formato“ELF‘ÿ37.Ž¦ïhtml:ï html:Ÿ!obÆ5.8.–UüC++“vs.“CŽŸ&aïhtml:ï html:ŸÙŸ½V‘þã×ale–€ la“pena“di“ricordare“che“se“si“sta“scriÀ vÙ endo“un“programma“in“C++,“e“da“questo“si“sta“chiamando“una“funzione“diŽ¡libreria–€ implementata“in“C,“il“codice“C++“doÙ vr€à“dichiarare“tale“funzione“come“ïhtml:ï html:Àextern‘ff"C"½.“In“caso“contrario“ilŽ¡linkæger–€ non“sar€à“in“grado“di“localizzare“la“funzione“C.“Internamente,“i“compilatori“C++“eettuano“una“"decorazione"Ž¡(mangle)–€ dei“nomi“delle“funzioni“C++“(ad“esempio“per“necessit€à“leÙ gó7ate“al“riconoscimento“dei“tipi),“e“deÀ vÌÐono“quindiŽ¡essere–€ informati“del“fægatto“che“una“determinata“funzione“dešÀ vÙ e“essere“chiamata“come“funzione“C“(e“quindi“pri˜v˜a“diŽ¡decorazione–€ del“nome).ŽŸÊ8ïhtml:ï html:Ÿ5ÈSe–€ si“sta“sviluppando“una“libreria“di“programma“che“potrebbe“essere“chiamata“da“C“o“C++“€è“raccomandabileŽ¡includere–€ delle“dichiarazioni“ïhtml:ï html:Àextern‘ff"C"“½nei“le“di“intestazione“cos€ì“da“predisporli“automaticamente“per“gli“utenti.Ž¡Queste–€ dichiarazioni“possono“essere“abbinate“alle“normali“direttišÀ vÙ e“ïhtml:ï html:À#ifndef“½necessarie“ad“e˜vitare“l'inclusioneŽ¡ripetuta–€ di“uno“stesso“le“di“intestazione.“In“questo“modo“il“contenuto“tipico“di“un“generico“le“ïhtml:ï html:Àpippo.h½,“utilizzabileŽ¡sia–€ da“C“che“da“C++,“aÌÐvr€à“un“aspetto“simile“a“questo:ŽŸ*8ïhtml:ï html:Ÿ ˆûÀ/*–ffSpiegare“qui“cosa“fa“'pippo'“*/Ž¤³3¡#ifndef‘ffPIPPO_HŽ¡#define‘ffPIPPO_HŽ¡¡#ifdef‘ff__cplusplusŽ¡extern–ff"C"“{Ž¡#endifŽ¡¡‘
ÌÌ...–ffQui“vanno“le“dichiarazioni“delle“funzioni“esportate“...Ž¡¡#ifdef‘
ÌÌ__cplusplusŽ¡}Ž¡#endifŽ¡#endifŽŸ Ÿ ï!html:ï html:ŽŸ0 ºâïcolor push Black’Ê Ã19ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ä žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:ŸüfdŸ÷™œïhtml:ï html:Ÿfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâÆ5.9.–UüV‘ÿffelocizzare“l'inizializzazione“di“codice“C++ŽºâŸ&aïhtml:ï html:ŸÙŸ½Gli–€ sviluppatori“di“KDE“hanno“notato“che“l'aÌÐvvio“di“applicazioni“di“grosse“dimensioni,“scritte“in“C++“e“dotate“diŽ¤
interfægaccia–€ graca,“pu€ò“talvÌÐolta“richiedere“un“lungo“intervÀ allo“di“tempo,“in“parte“doÙ vuto“a“numerose“riallocazioni.Ž¡Esistono–€ numerose“soluzioni“a“questo“incon™ŸvšÙ eniente.“Si“v˜eda“ïhtml:ï html:Making“C++“ready“for“the“desktop“(by“W‘ÿ37aldo“Bastian)Ž¡(http://www‘ÿY .suse.de/~bastian/Export/linking.txt)–€ per“ulteriori“informazioni.Ž©*8ïhtml:ï html:Ÿ!obÆ5.10.–UüLináIux“Standar“d“Base“(LSB)ŽŸ{ãïhtml:ï html:Ÿ
„½Lo–€ scopo“del“progetto“Linux“Standard“Base“(LSB)“consiste“nello“sviluppare“e“promuo•Ù v“ere–€ un“insieme“di“normatiÀ vÙ eŽ¡standardizzate–€ che“incrementino“la“compatibilit€à“tra“le“dierenti“distribÌÐuzioni“di“Linux“e“consentano“l'esecuzioneŽ¡delle–€ applicazioni“su“ogni“sistema“Linux“conforme“allo“standard.“La“home“page“del“progetto“€è“all'indirizzoŽ¡ïhtml:ï html:http://www‘ÿY .linuxbase.orÑðg.Ž¦ïhtml:ï html:Ÿ
ÕÈUn–€ interessante“articolo“che“riassume“come“sviluppare“applicazioni“conformi“allo“standard“LSB“€è“stato“pubblicato“daŽ¡GeorÑðge–€ Kraft“IV“(Senior“softwægare“engineer™Ÿ,“IBM'‘ÿs8s“Linux“T‘ÿLÐechnology“Center)“nell'ottobre“2002,“ïhtml:ï html:DeÀ vÙ elopingŽ¡LSB-certied–€ applications:“FiÀ vÙ e“steps“to“binary-compatible“Linux“applicationsŽ¡(http://www-106.ibm.com/deÀ vÙ eloperwægorks/linux/library/l-lsb•™Ÿ.html?t=gr“,lnxw02=LSBapps).–€ Chiaramente,“se“siŽ¡desidera–€ che“le“applicazioni“risultino“portabili,“si“došÙ vr€à“sviluppare“del“codice“che“acceda“unicamente“al“liÀ v˜ello“diŽ¡interfægaccia–€ standardizzato;.“LSB“fornisce“inoltre“agli“sviluppatori“di“applicazioni“C/C++“alcuni“strumenti“per“laŽ¡vÙ erica–€ della“conformit€à“allo“standard;“questi“strumenti“utilizzano“alcune“possibilit€à“del“linkæger“e“speciali“librerie“alŽ¡ne–€ di“eettuare“i“test“necessari.“Ovviamente,“per“eettuare“questo“tipo“di“všÙ erica“si“do˜vranno“installare“questiŽ¡strumenti,–€ che“possono“essere“reperiti“tramite“il“sito“web“di“LSB.“FÙ atto“questo,“€è“suciente“utilizzare“"ïhtml:ï html:Àlsbcc½"“comeŽ¡compilatore–€ C/C++“(ïhtml:ï html:Àlsbcc“½crea“internamente“un“ambiente“di“link“che“produrr€à“deÙ gli“errori“nel“caso“in“cuiŽ¡determinate–€ reÙ gole“di“conformit€à“allo“standard“LSB“non“fossero“soddisfægatte):Ž©*8ïhtml:ï html:Ÿ ˆû–ffÀ$“CC=lsbcc“make“mia_applicazioneŽ¤³3‘
ÌÌ(oppure)Ž¡–ff$“CC=lsbcc“./configure;“make“mia_applicazioneŽ¤ ½Il–Jâprogramma“ïhtml:ï html:Àlsbappchk“½permette“di“vÙ ericare“che“l'applicazione“utilizzi“solo“funzioni“preÀ viste“dallo“standard“LSB:Ž¦ïhtml:ï html:Ÿ ˆû–ffÀ$“lsbappchk“mia_applicazioneŽ¡½€È–€ inoltre“necessario“attenersi“alle“linee“guida“di“LSB“per“quanto“concerne“i“pacchetti“di“installazione“(ad“esempioŽ¤
utilizzare–€ il“formato“RPM“v3“e“nomi“dei“pacchetti“conformi“allo“standard;“LSB“preÀ vÙ ede“inoltre“che“il“softwægareŽ¡aggiuntiÀ vÌÐo–€ debba“essere“normalmente“installato“sotto“ïhtml:ï html:Àopt½).“Si“vÙ edano“il“suddetto“articolo“ed“il“sito“internet“di“LSBŽ¡per–€ ulteriori“informazioni.Ž©*8ï-html:ï html:Ÿ!obÆ5.11.–UüRiunire“pi€ù“librerie“in“un'unica“libreriaŽŸ{ãïhtml:ï html:Ÿ
„½Cosa–€ succederebbe“se“si“vÌÐolesse“prima“creare“delle“piccole“librerie“e“poi,“in“un“secondo“momento,“riunirle“in“librerieŽ¡di–x>dimensioni“maggiori?“In“un“caso“simile,“potrebbe“risultare“utile“l'opzione“"--whole-archiÀ vÙ e"“di“ïhtml:ï html:Àld½,“che“consente“diŽ¡riunire–€ ecacemente“dei“le“ïhtml:ï html:À.a“½e“colleÙ gó7arli“in“un“unico“le“ïhtml:ï html:À.so½.Ž¦ïhtml:ï html:Ÿ
ÕÈEcco–€ un“esempio“di“come“utilizzare“--whole-archiÀ vÙ e:ŽŸ*8ïhtml:ï html:Ÿ ˆû–ffÀgcc“-shared“-Wl,-soname,libmialib.so.$(VER)“-o“libmialib.so.$(VER).0“\Ž¤³3–ff$(FILE_OGGETTO)“-Wl,--whole-archive“$(LIBRERIE_DA_RIUNIRE)“\Ž¡–ff-Wl,--no-whole-archive“$(NORMALI_LIBRERIE)ŽŽŸ0 ºâïcolor push Black’Ê Ã20ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 òÁ žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš Ÿ ºâ½Come–€ messo“in“eÀ videnza“dalla“documentazione“di“Àld½,“ci“si“assicuri“di“utilizzare“alla“ne“l'opzioneŽ¤
ºâ--no-whole-archiÀ vÙ e–€ altrimenti“ïhtml:ï html:Àgcc“½cercher€à“di“riunire“nella“libreria“in“output“anche“le“librerie“standard.“Si“ringraziaŽ¡ºâKÀ endall–€ Bennett“per“ašÌÐvÙ er“suggerito“l'aggiunta“di“questa“ricetta“e“per“a˜vÙ erla“fornita.ŽºâŸ*8ïhtml:ï html:Ÿ%ZçÂ6.– ÈUlteriori“esempiŽŸ
.Cïhtml:ï html:Ÿ
ð½Quelli–€ che“seÙ guono“sono“altri“esempi“relatišÀ vi“alle“tre“modalit€à“descritte“(librerie“statiche,“condi˜vise“e“a“caricamentoŽ¡dinamico).–€ Il“le“ïhtml:ï html:Àlibhello.c“½implementa“una“semplice“libreria“con“ïhtml:ï html:Àlibhello.h“½come“le“di“intestazione.“Il“leŽ¡ïhtml:ï html:Àdemo.c–€ ½€è“un“semplice“le“dimostratiÀ vÌÐo“che“contiene“delle“chiamate“alla“libreria.“A“questi“seÙ guono“alcuni“scriptŽ¡commentati–€ (ïhtml:ï html:Àscript_static“½e“ïhtml:ï html:Àscript_shared½)“che“illustrano“l'uso“della“libreria“come“libreria“statica“eŽ¡condišÀ visa.–€ Inne,“ïhtml:ï html:Àdemo_dynamic.c“½e“ïhtml:ï html:Àscript_dynamic“½mostrano“come“utilizzare“la“libreria“condi˜visa“come“unaŽ¡libreria–€ a“caricamento“dinamico.Žž”ïhtml:ï html:Ÿ"€Æ6.1.–UüFile“libhello.cŽ©&aïhtml:ï html:Ÿ
ïhtml:ï html:ŸŒÒÀ/*–fflibhello.c“-“dimostrare“l'uso“di“librerie.“*/Ž¤³3¡#include‘ffŽ¡¡void–ffhello(void)“{Ž¡‘
ÌÌprintf("Hello,–fflibrary“world.\n");Ž¡}ŽŸ Ÿ ïhtml:ï html:Ÿ#™šÆ6.2.–UüFile“libhello.hŽ¦ïhtml:ï html:Ÿ
ïhtml:ï html:ŸŒÒÀ/*–fflibhello.h“-“dimostrare“l'uso“di“librerie.“*/Ž¡¡¡void‘ffhello(void);ŽŸ Ÿ ïhtml:ï html:Ÿ#™šÆ6.3.–UüFile“demo.cŽ¦ïhtml:ï html:Ÿ
ïhtml:ï html:ŸŒÒÀ/*–ffdemo.c“--“dimostrare“l'uso“diretto“della“funzione“"hello"“*/Ž¡¡#include‘ff"libhello.h"Ž¡¡int–ffmain(void)“{Ž¡‘ffhello();Ž¡–ffreturn“0;ŽŽŸ0 ºâïcolor push Black’Ê Ã21ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 0 žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâÀ}Ž© ºâŸ ïhtml:ï html:Ÿ#™šÆ6.4.–UüFile“script_staticŽŸ{ãïhtml:ï html:Ÿ
ïhtml:ï html:Ÿ 7PÀ#!/bin/shŽ¤³3#–ffEsempio“di“libreria“staticaŽ¡¡#–ffCrea“il“file“oggetto“della“libreria“statica,“libhello-static.o.Ž¡#–ffUso“il“nome“libhello-static“per“distinguerlo“con“chiarezza“dagliŽ¡#–ffesempi“di“librerie“dinamiche,“ma“non“€è“in“generale“necessarioŽ¡#–ffusare“"-static"“per“i“nomi“di“file“oggetto“che“saranno“parteŽ¡#–ffdi“librerie“statiche.Ž¡¡gcc–ff-Wall“-g“-c“-o“libhello-static.o“libhello.cŽ¡¡#–ffCrea“la“libreria“statica.Ž¡¡ar–ffrcs“libhello-static.a“libhello-static.oŽ¡¡#–ffA“questo“punto“si“potrebbe“semplicemente“copiareŽ¡#–fflibhello-static.a“da“qualche“altra“parte“per“poiŽ¡#–ffriutilizzarla.“Per“gli“scopi“dell'esempio“ci“siŽ¡#–fflimiter€à“a“lasciarla“nella“presente“directory.Ž¡¡#–ffCompilazione“del“file“di“programma“demo.Ž¡¡gcc–ff-Wall“-g“-c“demo.c“-o“demo.oŽ¡¡#–ffCreazione“del“programma“demo;“-L.“fa“s€ì“che“"."“siaŽ¡#–ffcompresa“nella“ricerca“durante“la“creazione“del“programma.Ž¡#–ffSi“noti“che“questo“comando“implica“l'incorporazione“delŽ¡#–fffile“libhello-static.a“nel“file“demo_static.Ž¡¡gcc–ff-g“-o“demo_static“demo.o“-L.“-lhello-staticŽ¡¡#–ffEsecuzione“del“programma.Ž¡¡./demo_staticŽ¦Ÿ ïhtml:ï html:Ÿ#™šÆ6.5.–UüFile“script_sharedŽŸ{ãïhtml:ï html:Ÿ
ïhtml:ï html:Ÿ 7PÀ#!/bin/shŽ¡#–ffEsempio“di“libreria“condivisaŽ¡¡#–ffCrea“il“file“oggetto“della“libreria“condivisa,“libhello.o.ŽŽŸ0 ºâïcolor push Black’Ê Ã22ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 ø žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ¤³3ºâÀgcc–ff-fPIC“-Wall“-g“-c“libhello.cŽ¡¡ºâ#–ffCrea“la“libreria“condivisa.Ž¡ºâ#–ffSi“usi“-lc“per“collegarla“alla“libreria“del“linguaggio“C,Ž¡ºâ#–ffdato“che“libhello“dipende“dalla“libreria“del“C.Ž¡¡ºâgcc–ff-g“-shared“-Wl,-soname,libhello.so.0“\Ž¡‘Tz-o–fflibhello.so.0.0“libhello.o“-lcŽ¡¡ºâ#–ffA“questo“punto“potremmo“semplicemente“copiare“libhello.so.0.0Ž¡ºâ#–ffin“qualche“directory,“ad“esempio“/usr/local/lib.Ž¡¡ºâ#–ffOra“dobbiamo“chiamare“ldconfig“per“sistemare“i“link“simbolici.Ž¡¡ºâ#–ffDefinizione“del“soname.“Si“potrebbe“semplicemente“eseguire:Ž¡ºâ#–ffln“-sf“libhello.so.0.0“libhello.so.0Ž¡ºâ#–ffma“lasciamo“che“sia“ldconfig“a“determinarloŽ¡¡ºâ/sbin/ldconfig–ff-n“.Ž¡¡ºâ#–ffDefinizione“del“nome“per“il“linker.Ž¡ºâ#–ffIn“condizioni“pi€ù“complesse,“ci“si“dovrebbe“accertareŽ¡ºâ#–ffdell'esistenza“di“un“nome“per“il“linker“precedentementeŽ¡ºâ#–ffdefinito“ed“in“quel“caso“decidere“se“mantenerlo“o“meno.Ž¡¡ºâln–ff-sf“libhello.so.0“libhello.soŽ¡¡ºâ#–ffCompilazione“del“file“di“programma“demo.Ž¡¡ºâgcc–ff-Wall“-g“-c“demo.c“-o“demo.oŽ¡¡ºâ#–ffCreazione“del“programma“demo.Ž¡ºâ#–ff-L.“aggiunge“"."“alle“directory“su“cui“effettuare“laŽ¡ºâ#–ffricerca“durante“la“creazione“del“programma;“si“noti“cheŽ¡ºâ#–ffquesto“non“significa“che“"."“verr€à“controllata“quandoŽ¡ºâ#–ffil“programma“viene“eseguito.Ž¡¡ºâgcc–ff-g“-o“demo“demo.o“-L.“-lhelloŽ¡¡ºâ#–ffEsecuzione“del“programma.“Si“noti“che“€è“necessario“dire“alŽ¡ºâ#–ffprogramma“dove“trovare“la“libreria“condivisa,“utilizzandoŽ¡ºâ#‘ffLD_LIBRARY_PATH.Ž¡¡ºâLD_LIBRARY_PATH="."‘ff./demoŽŸ ºâŸ ïhtml:ï html:ŽŸ0 ºâïcolor push Black’Ê Ã23ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 V žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâÆ6.6.–UüFile“demo_dÑóynamic.cŽºâŸ{ãïhtml:ï html:Ÿ
ïhtml:ï html:Ÿ 7PÀ/*–ffdemo_dynamic.c“--“dimostrare“il“caricamento“dinamico“eŽ¤³3‘32l'uso–ffdella“procedura“"hello"“*/Ž¡¡¡/*–ffdlfcn.h“€è“necessario“per“le“funzioni“di“caricamentoŽ¡‘32dinamico–ffdelle“librerie“*/Ž¡#include‘ffŽ¡¡#include‘ffŽ¡#include‘ffŽ¡¡/*–ffSi“noti“che“non“€è“necessario“includere“"libhello.h".Ž¡‘32Ad–ffogni“modo“occorre“specificare“alcune“informazioniŽ¡‘32correlate;–ffsi“deve“specificare“un“tipo“da“associareŽ¡‘32al–ffvalore“che“si“ricaver€à“da“dlsym().“*/Ž¡¡/*–ffIl“tipo“"simple_demo_function"“descrive“una“funzioneŽ¡‘32che–ffnon“prende“alcun“argomento,“e“non“restituisce“alcunŽ¡‘32valore:‘ff*/Ž¡¡typedef–ffvoid“(*simple_demo_function)(void);Ž¡¡¡int–ffmain(void)“{Ž¡–ffconst“char“*errore;Ž¡–ffvoid“*modulo;Ž¡–ffsimple_demo_function“demo_function;Ž¡¡–ff/*“Carica“dinamicamente“la“libreria“*/Ž¡–ffmodulo“=“dlopen("libhello.so",“RTLD_LAZY);Ž¡–ffif“(!modulo)“{Ž¡‘32fprintf(stderr,–ff"Impossibile“aprire“libhello.so:“%s\n",Ž¡‘;fbdlerror());Ž¡‘32exit(1);Ž¡‘ff}Ž¡¡–ff/*“Ricava“il“simbolo“*/Ž¡‘ffdlerror();Ž¡–ffdemo_function“=“dlsym(modulo,“"hello");Ž¡–ffif“((errore“=“dlerror()))“{Ž¡‘32fprintf(stderr,–ff"Impossibile“trovare“hello:“%s\n",“errore);Ž¡‘32exit(1);Ž¡‘ff}Ž¡¡–ff/*“Ora“chiama“la“funzione“dalla“libreria“a“caricamentoŽ¡‘™˜dinamico‘ff*/Ž¡‘ff(*demo_function)();Ž¡¡–ff/*“Tutto“fatto,“chiude“in“modo“pulito“*/Ž¡‘ffdlclose(modulo);Ž¡–ffreturn“0;ŽŽŸ0 ºâïcolor push Black’Ê Ã24ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâÀ}Ž© ºâŸ ïhtml:ï html:Ÿ#™šÆ6.7.–UüFile“script_dÑóynamicŽŸ{ãïhtml:ï html:Ÿ
ïhtml:ï html:Ÿ 7PÀ#!/bin/shŽ¤³3#–ffDimostrazione“di“libreria“a“caricamento“dinamicoŽ¡¡#–ffPresuppone“che“libhello.so“e“compagnia“sianoŽ¡#–ffstati“precedentemente“creati“(si“vedano“gli“esempiŽ¡#‘ffprecedenti).Ž¡¡#–ffCompila“il“file“programma“demo_dynamic.c“in“un“fileŽ¡#‘ffoggetto:Ž¡¡gcc–ff-Wall“-g“-c“demo_dynamic.cŽ¡¡#–ffCrea“il“programma“demo_use.Ž¡#–ffSi“noti“che“non“€è“necessario“definire“dove“localizzare“leŽ¡#–fflibrerie“a“caricamento“dinamico“dal“momento“l'unica“libreriaŽ¡#–ffparticolare“utilizzata“dal“programma“non“verr€à“caricata“seŽ¡#–ffnon“dopo“l'avvio.Ž¡#–ffD'altro“canto,“€è“necessario“utilizzare“l'opzione“-ldl“perŽ¡#–ffincludere“la“libreria“che“implementa“le“funzioni“per“laŽ¡#–ffgestione“delle“librerie“a“caricamento“dinamico.Ž¡¡gcc–ff-g“-o“demo_dynamic“demo_dynamic.o“-ldlŽ¡¡¡#–ffEsecuzione“del“programma.“Si“noti“che“€è“necessario“dire“alŽ¡#–ffprogramma“dove“trovare“la“libreria“a“caricamento“dinamico,Ž¡#–ffutilizzando“LD_LIBRARY_PATH.Ž¡¡LD_LIBRARY_PATH="."‘ff./demo_dynamicŽ¦Ÿ ïhtml:ï html:Ÿ'…Â7.– ÈAltre“fš¶Jonti“di“inf˜ormazioneŽŸaAïhtml:ï html:ŸÑò½Fra–€ le“principali“fonti“di“informazione,“relatišÀ vÙ e“all'uso“di“librerie,“v˜anno“incluse“le“seÙ guenti:‘ ïhtml:ï html:ŽŸ ]kïhtml:ï html:Ÿ<.ïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½"The–€ GCC“HOš¦gWTÑðO"“di“Daniel“BarloÀ w‘ÿY .“In“particolare,“questo“HO˜WTÑðO“discute“le“opzioni“di“compilazioneŽ¤
‘
necessarie–€ alla“creazione“di“librerie“e“come“eettuare“ricerche“all'interno“di“librerie.“Comprende“informazioni“nonŽ¡‘
contemplate–€ dal“presente“documento“e“viceÀ vÙ ersa.“Questo“HO¦gWTÑðO“€è“reperibile“tramite“il“Linux“DocumentationŽ¡‘
Project–€ presso“ïhtml:ï html:http://www‘ÿY .linuxdoc.orÑðg.ŽŸ*8ïhtml:ï html:ŽŸ0 ºâïcolor push Black’Ê Ã25ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 %b žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ýš ºâïcolor push BlackÅ€ˆï color popŽŽ‘ ºâïhtml:ï html:½"ExšÙ ecutable–€ and“Linkable“F˜ormat“(ELF)"“del“comitato“per“i“T‘ÿ37ool“Interfægace“Standards“(TIS)“(si“tratta“in“eetti“di“unŽ¤
‘ ºâcapitolo–€ del“Portable“FšÙ ormats“Specication“V‘þã×ersion“1.1“edito“dallo“stesso“comitato).“F˜ornisce“informazioniŽ¡‘ ºâdettagliate–€ sul“formato“ELF“(questo“non“riguarda“in“modo“specico“Linux“o“il“compilatore“GNU“gcc).“Si“vÙ edaŽ¡‘ ºâïhtml:ï html:ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ELF‘ÿ37.doc.tar‘ÿs8.gz.–€ Se“si“ottiene“il“le“dal“MIT‘ÿB,“si“noti“che“si“tratta“di“unŽ¡‘ ºâformato–€ insolito;“dopo“aÌÐvÙ er“decompresso“ed“estratto“l'archiÀ vio,“si“otterr€à“un“le“"ïhtml:ï html:À.hps½";“€è“suciente“eliminare“leŽ¡‘ ºâlinee–eÚin“cima“ed“in“fondo“al“le“e“rinominarlo“in“"ïhtml:ï html:À.ps½"“per“ottenere“un“le“stampabile,“in“formato“Postscript,“con“laŽ¡‘ ºâconsueta‘€ estensione.Žºâž”ïhtml:ï html:Ÿælïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½"ELF:–€ From“the“Programmer'‘ÿs8s“PerspectiÀ vÙ e"“di“Hongjui“Lu.“Questo“documento“fornisce“informazioni“sul“formatoŽ¡‘
ELF–€ speciche“per“Linux“ed“il“compilatore“GNU“ïhtml:ï html:Àgcc“½ed“€è“reperibile“presso:Ž¡‘
ïhtml:ï html:ftp://tsx-11.mit.edu/pub/linux/packages/GCC/elf.ps.gz.Ž©*8ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½La–€ documentazione“di“ïhtml:ï html:Àld“½"Using“LD,“the“GNU“Linkšæger"“descriÀ vÙ e“il“link˜er“GNU“in“maniera“molto“pi€ù“dettagliata“diŽ¡‘
quanto–€ possibile“nel“presente“documento.“€È“disponibile“presso:“ïhtml:ï html:http://www‘ÿY .gnu.orÑðg/manual/ld-2.9.1.Ž¦ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½Si–€ doÙ vrebbe“inoltre“consultare“la“normale“documentazione“in“formato“"info",“in“particolare“per“ïhtml:ï html:Àld“½e“ïhtml:ï html:Àgcc½.Ž© Ÿ ïhtml:ï html:Ÿ'…Â8.– ÈCopȽyright“e“licenzaŽŸ
gdïhtml:ï html:Ÿ ËϽQuesto–€ documento“€è“copægyright“(C)“2000“di“DaÌÐvid“A.“Wheeler‘ÿs8.“€È“soggetto“alla“licenza“GNU“General“Public“LicenseŽ¡(GPL)–€ e“pu€ò“essere“ridistribÌÐuito“gratuitamente.“Si“considerino“i“sorÑðgenti“del“presente“documento“come“ilŽ¡"programma"–€ e“ci“si“attengó7a“alle“seÙ guenti“condizioni:ŽŸ ]kïhtml:ï html:Ÿ33ïhtml:ï html:Ÿ ˆû‘
ó?Á|‰
ptmr8tÊThis–/program“is“free“softwèöare;“you“can“redistribÑîute“it“and/or“modify“it“under“the“terms“of“the“GNU‘/General“Public“License“asŽ¤³3‘
published–@ by“the“Free“Softwèöare“FšÝvoundation;“either“v˜ersion“2“of“the“License,“or“(at“your“option)“an˜y“later“v˜ersion.ŽŸòÌïhtml:ï html:Ÿ Àg‘
This–@ program“is“distribšÑîuted“in“the“hope“that“it“will“be“useful,“b˜ut“WITHOUT“ANY“W‘þëˆARRANTY‘ÿ,;“without“eÆfvÝven“the“impliedŽ¡‘
wèöarranty–@ of“MERCHANT‘ÿ)¾ABILITY“or“FITNESS“FOR“A“P‘ÿ,AR‘ÿuÃTICULAR“PURPOSE.“See“the“GNU“General“Public“LicenseŽ¡‘
for–@ more“details.ŽŸïhtml:ï html:Ÿœ.‘
Y‘ÿou–@ should“haÑîvšÝve“receiÆfv˜ed“a“copèöy“of“the“GNU“General“Public“License“along“with“this“program;“if“not,“write“to“the“FreeŽ¡‘
Softwèöare–@ FÝvoundation,“Inc.,“59“T‘ÿ^»emple“Place,“Suite“330,“Boston,“MA“02111-1307“USAŽ¦Ÿ ïhtml:ï html:¤
½Queste–€ condizioni“consentono“il“ïhtml:ï html:ÃmirrŒÏoring“½presso“altri“siti“web,“ma“per“cortesia:‘ ïhtml:ï html:ŽŸ*8ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½ci–€ si“assicuri“che“la“copia“vÙ engó7a“automaticamente“aggiornata“tramite“il“sito“principale,Ž©*8ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½si–€ mostri“chiaramente“la“locazione“del“sito“di“riferimento,“ïhtml:ï html:http://www‘ÿY .dwheeler‘ÿs8.com/program-library,“con“unŽ¡‘
colleÙ gó7amento–€ ipertestuale“al“sito“principale,“eŽ¦ïhtml:ï html:ŸÕÈïcolor push BlackÅ€ˆï color popŽŽ‘
ïhtml:ï html:½mi–€ si“citi“(DaÌÐvid“A.“Wheeler)“come“l'autore.ŽŸ Ÿ ïhtml:ï html:¡I–€ primi“due“punti“principalmente“mi“protešÙ ggono“dal“do˜v˜er“sentir“citare“ripetutamente“errori“obsoleti.“Non“vÌÐoglioŽ¡sentir–€ citare“errori“che“ho“corretto“un“anno“fšæga“solo“per“via“del“f˜atto“che“un“vÌÐostro“mirroring“non“€è“gestito“in“modoŽ¡appropriato.–t!Con“un“link“al“sito“di“riferimento“gli“utenti“possono“accertarsi“che“la“copia“sia“aggiornata.“Sono“sensibileŽ¡ai–€ problemi“a“cui“vÀ anno“incontro“siti“sottoposti“a“forti“requisiti“di“sicurezza“e“che“quindi“non“possono“fornire“unaŽ¡normale–€ connessione“ad“Internet.“Se“questo“rappresenta“il“vÌÐostro“caso“cercate“almeno“di“attenervi“agli“altri“punti“eŽ¡tentate–€ periodicamente“di“fægar“"sgó7attaiolare"“un“qualche“aggiornamento“all'interno“del“vÌÐostro“ambiente.ŽŽŸ0 ºâïcolor push Black’ÉÊ@Ã26ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒ‹ 6 .³ žºâ ýU ºâïcolor push Blackïhtml:ïcolor push gray 0ï color popï html:Ÿüfd’jO„ÃPrŒÏoæggr•Ù am›€ Libr“ary˜HO‘ÿÿWTÑðOŽŽŽŽŽŽŽ’Ô ï color popŽŽ { ºâ ý ïhtml:ï html:Ÿ
½Questa–€ licenza“vi“consente“di“modicare“il“documento,“ma“non“di“dichiarare“come“všÌÐostro“ci€ò“che“non“a˜vÙ ete“scrittoŽ¤
(vÀ ale–€ a“dire,“non“€è“consentito“il“plagio),“n€è“di“dichiarare“che“una“vÙ ersione“modicata“sia“identica“all'originale.Ž¡Modicare–€ il“documento“non“trasferisce“interamente“a“vÌÐoi“i“diritti“d'autore“sull'opera;“nei“termini“di“leÙ gge“relatiÀ vi“alŽ¡diritto–€ d'autore“quest'opera“non“€è“di“"dominio“pubblico".“Si“všÙ eda“il“testo“inte˜grale“della“licenza“per“ulteriori“dettagli,Ž¡in–noparticolare“si“noti“che“€è“necessario“includere“nei“le“modicati“annotazioni“eÀ videnti“del“fægatto“che“tali“le“siano“statiŽ¡modicati–€ da“všÌÐoi“ed“in“quale“data“questo“sia“a˜vvÙ enuto.“In“caso“di“dubbi“a“proposito“di“cosa“la“licenza“consenta,Ž¡gradirei–€ essere“contattato.“Nella“maggior“parte“dei“casi“la“cosa“migliore“consiste“nell'in™Ÿviare“le“modiche“a“chi“siŽ¡occupa–€ di“mantenere“la“copia“principale“(attualmente“DašÌÐvid“A.“Wheeler),“cos€ì“che“le“v˜ostre“modiche“vÙ errannoŽ¡inteÙ grate–€ a“quelle“di“tutti“gli“altri“nella“copia“uciale.ŽŽŸ0 ºâïcolor push Black’É¡HÃ27ŽŽŽŽŽŽŽ’Ô ï color popŽŽŒø Dvƒ’À; 誺âÓºâ
ó?Á|‰
ptmr8tó‰š
pcrro8tó‰š
pcrro8tóú
phvb8tóú
phvb8tóÌ*j]
ptmr8cóϯ8
ptmri8tóú ff
phvb8tóª,«
ptmb8tó‰š
pcrr8tóú G®
phvb8tóú â
phvb8tó?Á|‰
ptmr8tù Jßßßßßß