Ein etwas anderer Funktionsaufruf
-
hi,
Ich möchte via so eine Funktion aufrufen:
callFunction("Name");
Es geht mit dlopen, etc. aber anhand Zeigerarithmetik, ginge das auch? Weiss jemand wie?
DankeDrC-Work
-
Naja schon.
Musst dir halt eine Art Map anlegen.void BlaBlupp() { /* */ } void BliBlupp() { /* */ } typedef void (*FPTR)(); typedef struct ftable_entry { const char* name; FPTR function; } ftable_entry; static ftable_entry ftable = { {"Name", BlaBlupp} {"Hans", BliBlupp} }; void callFunction(const char* name) { for(int i = 0; i < 2; ++i) { if(strcmp(ftable[i].name, name)) { (ftable[i].function)(); return; } } }
//Klammer vergessen
-
Danke, hehejo, du bist mein Held