Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^5: When to (and not to) use sv_2mortal()

by BrowserUk (Pope)
on Oct 28, 2011 at 22:56 UTC ( #934529=note: print w/ replies, xml ) Need Help??


in reply to Re^4: When to (and not to) use sv_2mortal()
in thread When to (and not to) use sv_2mortal()

This is the sort of thing that if I'm going to invest the time in learning it, I want to learn it right.

Once you get past the initial get something working stage is when it gets interesting and then frustrating.

For example, in this version of your code I've stripped out a whole bunch of macros and it still compiles clean and runs leak-free. Unsuprisingly, it is a tad quicker:

int test_perlcall( int input ) { dSP; /* Declare and initialize local copy of Perl stack ptr */ PUSHMARK(SP); XPUSHs(sv_2mortal(newSViv( input ))); PUTBACK; if( call_pv( "return_input", G_SCALAR ) != 1 ) croak( "Well, THAT failed to work.\n" ); return (int)POPi; /* Inline::C handles this typemap automatically. + */ }

But then you start wondering why all those apparently unneeded macros are used in the samples. They obviously are required on some occasions, but when? And why?

It is answers to these questions that are much harder to obtain.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.


Comment on Re^5: When to (and not to) use sv_2mortal()
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (10)
As of 2014-12-28 02:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (178 votes), past polls