Anropa funktion mha adressen

Avdelningen för programmering, nätverk samt alternativa OS.
Post Reply
User avatar
robin.
Posts: 315
Joined: 2003-01-05 20:34:27
Location: Strängnäs

Anropa funktion mha adressen

Post by robin. »

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 ;)
t-man
Posts: 100
Joined: 2005-11-29 15:42:32
Location: G-town

Re: Anropa funktion mha adressen

Post by t-man »

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 ;)
Vill du göra det i C (har lite svårt att tolka)?

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;
}
User avatar
robin.
Posts: 315
Joined: 2003-01-05 20:34:27
Location: Strängnäs

Post by robin. »

Jaa precis så! :) Tänk så enkelt det var då :P Tack så mycket för hjälpen!
Post Reply