-
David Hendriks authored
made script to write function pointer to char and convert it back to a function pointer in a different function
David Hendriks authoredmade script to write function pointer to char and convert it back to a function pointer in a different function
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
main.c 655 B
#include <stdio.h>
#include <stddef.h>
typedef int (*fn_def)(void);
int test1()
{
// function to call
printf("Test\n");
}
void convert_and_call(void *fnvptr_val)
{
// convert into pointer
fn_def fnptr = (fn_def)fnvptr_val;
fnptr();
}
int main()
{
void* fnvptr = (void*)&test1;
// print adress
printf("%p\n", &test1);
// cast into char array
char* a=(char*)fnvptr;
// print stuff
printf("%s\n", a);
printf("size: %ld\n",sizeof(a));
// cast into new void thing
void * fnvptr2 = (void*)a;
printf("%p\n", fnvptr2);
// // convert into pointer
convert_and_call(fnvptr2);
}