Wie ist das möglich:Wie ist es möglich, dass eine gemeinsam genutzte Bibliothek eine Funktion definiert, aber nicht mit ihr verknüpft werden kann?
>nm --defined-only foobar.so | grep foobar
000000000003c7c0 t foobar
>gcc foobar.c foobar.so
foobar.c:(.text+0x19): undefined reference to `foobar'
collect2: ld returned 1 exit status
Wahrscheinlich weil foobar ist local '(000000000003c7c0 _t_ foobar)' – Tibrogargan
@PeterL. Nicht so, ich kann so mit einer gemeinsamen Lib "verlinken". All dies bedeutet, dass zur Laufzeit das Programm die Bibliothek dann lädt. Ich verifizierte mit meiner eigenen kleinen Bibliothek. –
@Tribargargan was bedeutet "lokal"? Wie auch immer, 'Foobar' ist eine" globale "Funktion. –