Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: XS/Inline::C and ellipsis syntax

by dzaebst (Initiate)
on Jun 30, 2008 at 15:02 UTC ( #694755=note: print w/ replies, xml ) Need Help??


in reply to XS/Inline::C and ellipsis syntax

I'll agree that it introduces too many problems and should be avoided, especially if the code needs to be portable. However, if absolutely necessary, there's the option to create a stack, then pass the pointer off to a va_arg() call. The stack can be made by testing SvNOK, SvPOK, or SvIOK and incrementing the pointer accordingly. Some compilers want a pointer that increments, others want pointers that de-increment. On retrieval, the format string indicates how the va_arg should be taken off the stack (int, char, double).

This example is the clearest thing I've found on forged va_lists. It also explains how the alignment can cause problems:
archLinux


Comment on Re: XS/Inline::C and ellipsis syntax

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://694755]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (9)
As of 2014-07-25 03:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (167 votes), past polls