Anropa funktion mha adressen
Anropa funktion mha adressen
Jag har ett litet "problem", jag skulle vilja anropa en funktion, om jag bara har dess adress (i C). Vet att jag har gjort det förut, men då på en x86:a/PC, kör Mac OS X/PPC nu. (Då vet jag att jag slängde in lite inline assembly som anropade adressen, men lyckas inte få det att fungera.. Kanske beror på att jag har väldigt begränsade kunskaper vad gäller PPC-assembly..) Hoppas att jag lyckades förklara så det går att förstå såhär på småtimmarna.. Och, såklart, att någon har en super-bra lösning till detta
Re: Anropa funktion mha adressen
Vill du göra det i C (har lite svårt att tolka)?robin. wrote:Jag har ett litet "problem", jag skulle vilja anropa en funktion, om jag bara har dess adress (i C). Vet att jag har gjort det förut, men då på en x86:a/PC, kör Mac OS X/PPC nu. (Då vet jag att jag slängde in lite inline assembly som anropade adressen, men lyckas inte få det att fungera.. Kanske beror på att jag har väldigt begränsade kunskaper vad gäller PPC-assembly..) Hoppas att jag lyckades förklara så det går att förstå såhär på småtimmarna.. Och, såklart, att någon har en super-bra lösning till detta
Code: Select all
int
foo(int x)
{
return x;
}
int
bar(int x)
{
return x;
}
int
main(int argc, char *argv[])
{
int (*p)(int);
p = foo;
p(0);
p = bar;
p(0);
return 0;
}