# \[Resolu\] Avec quelles librairies est compilé un executable ?

**URL:** <https://www.debian-fr.org/t/resolu-avec-quelles-librairies-est-compile-un-executable/4150>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 2:55 UTC](https://www.debian-fr.org/t/resolu-avec-quelles-librairies-est-compile-un-executable/4150 "2016-02-20T14:55:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![usinagaz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/u/ecae2f/32.png) [@usinagaz](https://www.debian-fr.org/u/usinagaz)\
**Post date:** [Février 20, 2016, 2:55 UTC](https://www.debian-fr.org/t/resolu-avec-quelles-librairies-est-compile-un-executable/4150/1 "2016-02-20T14:55:14Z")

</div>

Bonjour,  
Pour savoir avec quelles librairies est compilé un executable, est - ce :  
ldd \<nom de l’exe\> ? (boristhebutcher 😉 )  
exemple :

`# ldd /usr/local/bin/filezilla
        linux-gate.so.1 => (0xffffe000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7cd1000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7c4f000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7c34000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7c1e000)
        libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0xb7c17000)
        libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0xb7c0c000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7bd2000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7b97000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7b92000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7b8e000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7b7c000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7af4000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7ad4000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7ac0000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7abb000)
        libidn.so.11 => /usr/lib/libidn.so.11 (0xb7a8b000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb79aa000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7984000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7979000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7841000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7778000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7770000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7726000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb76f7000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb76e9000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb76e1000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb76dd000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb76d5000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb76d1000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb76c8000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb76c3000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb769d000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb768a000)
        /lib/ld-linux.so.2 (0xb7fd5000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7687000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7682000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7616000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb75f0000)`  
Si oui, c’est quoi cet adressage : (0xb75f0000) 😕

---

<div class="post-metadata">

**Author:** ![BorisTheButcher](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/d6d6ee/32.png) [@BorisTheButcher](https://www.debian-fr.org/u/BorisTheButcher)\
**Post date:** [Février 20, 2016, 2:55 UTC](https://www.debian-fr.org/t/resolu-avec-quelles-librairies-est-compile-un-executable/4150/2 "2016-02-20T14:55:15Z")

</div>

C’est probablement les adresses virtuelles de ces librairies; ou trouver l’entete. ldd t’affiche l’adresse virtuelle de base de l’image en mémoire de cette lib. Toutes les libs sont alignées sur une page de mémoire virtuelle (d’ou le 000 final constant). Ensuite pour une fonction precise de cette lib, il faut ajouter un offset.

Qu’est ce qu’elle a cette adresse? 🙂

0xb7616000 - 0xb75f0000 =155ko donc cette lib fait au plus 155ko

-rw-r–r-- 1 root root 146240 2006-07-16 14:30 /usr/lib/libpng12.so.0.1.2.
