Für globale Funktionen und statische Memberfunktionen ist es einfach, void *adder mit reinterpret_cast zu erhalten, aber wie erhält man es für eine nicht statische Memberfunktion, deren Zeiger nicht einfach in void* umgewandelt werden kann? Zum Beispiel:
Code: Select all
#include
#include
struct __attribute__((visibility("default"))) A {
static void f() {}
void g() {}
};
void* fAddr = reinterpret_cast( &A::f );
//void* gAddr = ??? ( &A::g );
int main() {
Dl_info info;
dladdr(fAddr, &info);
std::cout
Mobile version