C 라이브러리 내에서 Perl 해시를 만들려고합니다. 여기에 지금까지있어 무엇 :SWIG를 사용하여 C에서 Perl 해시를 작성하려면 어떻게해야합니까?
static void add_string_to_perl_hash (HV *hv, char * key, char *value) {
SV *obj = sv_2mortal(newSVpv(value, 0));
hv_store(hv, (const char *)key, strlen (key), obj, 0);
SvREFCNT_inc(obj);
}
SV * do_get_test_hash() {
static char *foo ="foo";
static char *bar ="bar";
HV *hv;
hv = newHV();
add_string_to_perl_hash (hv, "foo", foo);
add_string_to_perl_hash (hv, "bar", bar);
return sv_2mortal(newRV_noinc((SV*)hv));
}
그것을 밖으로 시도 :
use testlib;
use Data::Dumper;
print Dumper (testlib::do_get_test_hash());
$VAR1 = bless(do{\(my $o = 5359872)}, '_p_SV');
아이디어 : 나는 나에게 어떤 의미가 아무것도 얻을하지 않습니다?
고마워. 이것은 내가 필요한 세부 사항을 가지고 있었다. – Leonard