discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ObjectiveC runtime question: easy solution!


From: Lloyd Dupont
Subject: Re: ObjectiveC runtime question: easy solution!
Date: Thu, 19 May 2005 17:01:09 +1000

I could write something like that:
 
DLL_EXPORT void* objcsharp_msg_send(id obj, SEL sel, ...)
{
 void* args = __builtin_apply_args();
 IMP imp = objc_msg_lookup(obj, sel);
 size_t argsize = 20 * sizeof(int);
 __builtin_return ( __builtin_apply((void(*)())imp, args, argsize) );
}
I have to look at some code to find the correct value of argsize.
but that's the simpliest solution, by far!
 
----- Original Message -----
Sent: Thursday, May 19, 2005 1:42 PM
Subject: Re: ObjectiveC runtime question

I'm trying something like
DLL_EXPORT void* objcsharp_msg_send(id obj, SEL sel, ...)
{
  return objc_msg_sendv(obj, sel, __builtin_apply_args ());
}
but that's apparently not correct.....
 
----- Original Message -----
Sent: Thursday, May 19, 2005 12:14 PM
Subject: ObjectiveC runtime question

I'm trying to write a binding from an other language to ObjectiveC
I was thinking to relay method call by using something like
objc_msg_sendv(id, SEL, ...);
 
but it's not exactely the case it's
objc_msg_sendv(id, SEL, arglist_t);
 
which mean it doesn't work like a vararg function how could I translate that?
 
I was thinking of something like:
 
myobjc_msg_send(id obj, SEL mtdh, ...)
{
    objc_msg_sendv(obj, mthd, arglist);
}
 
now the question is how to generate a arglist_t from a va_list?
or any other suggestion?


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

reply via email to

[Prev in Thread] Current Thread [Next in Thread]