Linker, loader en uitvoerbare formaten
Een dynamisch gelinkt programma werd naar een andere computer gekopieerd en uitgevoerd, maar startte niet. Wat is de meest waarschijnlijke oorzaak?
- AHet uitvoerbare bestand bevatte alle bibliotheekcode en was te groot
- BDynamisch gelinkte programma's werken per regel alleen op de computer waarop ze zijn gemaakt
- CDe benodigde gedeelde bibliotheek is niet aanwezig of er is alleen een incompatibele versie
Antwoord en toelichting tonen
Antwoord: C. De benodigde gedeelde bibliotheek is niet aanwezig of er is alleen een incompatibele versie
Een dynamisch gelinkt programma gebruikt de gedeelde bibliotheken die op de computer waarop het draait aanwezig zijn. Als de benodigde bibliotheek ontbreekt of alleen een oude versie aanwezig is waarin functies ontbreken, kan de dynamische linker niet koppelen en mislukt het starten. Op Linux kan met het commando ldd worden gecontroleerd welke gedeelde bibliotheken een programma nodig heeft en of ze worden gevonden. Soms wordt om de verspreiding te vergemakkelijken bewust statisch gelinkt.
Verder: nog 9 vragen over Linker, loader en uitvoerbare formaten