4

たとえば、Perl から C 関数を呼び出す場合Inline::C:

use feature qw(say);
use strict;
use warnings;
use Inline C => './test.c';

say "Calling test()..";
test();
say "Finished.";

どこにtest.cある:

void test() 
{
    SV *sv_variable = newSVpv("test", 0);

    // do something..

    //SvREFCNT_dec(sv_variable); // free variable
    printf( "Returning from test()..\n");
    return;

}

呼び出してもしなくても、スクリプトは正常に動作するようSvREFCNT_dec(sv_variable)です。によるとperlguts

作成した SV を解放するには、SvREFCNT_dec(SV*) を呼び出します。通常、この呼び出しは必要ありません

4

1 に答える 1