SV *
_smooth2( yp, wp, lambda_in, m )
char * yp
char * wp
SV * lambda_in
int m
CODE:
{
int i, i1, i2, ip;
double c[MMAX+1], d[MMAX+1], e[MMAX+1],
w[MMAX+1], y[MMAX+1], z[MMAX+1],
lambda;
double * ya;
double * wa;
ya = (double *) yp;
wa = (double *) wp;
####
Smooth::_smooth2( $py, $pw, $lambda, scalar( @$yref ) );
##
##
#XS
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include "unistd.h"
MODULE = TestMemXS PACKAGE = TestMemXS
void
_test( yp )
char * yp
CODE:
{
double * ya;
ya = (double *) yp;
sleep( 1000 );
}
-------------------
#testMemXS.pm
....
sub testMem{
my $str = "\000" x 50e6;
_test( $str );
}
....
-------------------
perl -MTestMemXS -e 'testMem()'