Ich glaube nicht, dass du das kannst, dlsym
funktioniert mit exportierten Symbolen. Weil Sie dlsym
machen am NULL
(aktuelles Bild), obwohl die Symbole im ausführbaren ELF-Bild vorhanden sind, werden sie nicht exportiert (da es sich nicht um eine gemeinsam genutzte Bibliothek handelt).
Warum nicht direkt aufrufen und den Linker sich darum kümmern lassen? Es hat keinen Sinn, dlsym
zu verwenden um Symbole aus demselben Bild wie Ihr dlsym
zu erhalten Anruf. Wenn Ihr testing
Symbol befand sich in einer gemeinsam genutzten Bibliothek, die Sie entweder verknüpft oder mit dlopen
geladen haben dann könnten Sie es abrufen.
Ich glaube, es gibt auch eine Möglichkeit, Symbole beim Erstellen von ausführbaren Dateien zu exportieren (-Wl,--export-dynamic
wie in einem Kommentar von Brandon erwähnt), aber ich bin mir nicht sicher, warum Sie das tun möchten.