Saya rasa Anda tidak bisa melakukan itu, dlsym
bekerja pada simbol yang diekspor. Karena Anda melakukan dlsym
pada NULL
(gambar saat ini), meskipun simbol ada di gambar ELF yang dapat dieksekusi, mereka tidak diekspor (karena ini bukan pustaka bersama).
Mengapa tidak menelepon langsung dan biarkan linker yang mengurusnya? Tidak ada gunanya menggunakan dlsym
untuk mendapatkan simbol dari gambar yang sama dengan dlsym
Anda panggilan. Jika testing
Anda simbol berada di pustaka bersama yang Anda tautkan atau muat menggunakan dlopen
maka Anda akan dapat mengambilnya.
Saya yakin ada juga cara untuk mengekspor simbol saat membuat executable (-Wl,--export-dynamic
seperti yang disebutkan dalam komentar oleh Brandon) tetapi saya tidak yakin mengapa Anda ingin melakukan itu.