Perl XS и C++ передают указатель на буфер

Я почти не знаю C++, так что это не помогает, и мой XS ненамного лучше. Я создаю интерфейс XS для библиотеки C++, и у меня работают почти все мои методы, кроме одного.

Метод в Perl должен выглядеть так:

$return_data = $obj->readPath( $path );

Метод определяется как файл.h:

int readPath(const char* path, char* &buffer, bool flag=true);

«Буфер» будет выделен, если он передан в NULL.

Есть две дополнительные версии readPath с разными сигнатурами, но они не те, которые мне нужны. (И что интересно, когда я пытаюсь скомпилировать, он говорит мне, что "кандидаты" - это два, которые мне не нужны. )Это потому, что он не понимает "char *&"?

Может ли кто-нибудь помочь с xsub, который мне нужно написать?

У меня Perl 5.14.2.

Кстати, --я также использовал типографию "long long int" для T _IV. Я не могу найти никакой документации о том, как правильно набрать тип long long.Любые предложения, как я должен напечатать long long?

Спасибо,

5
задан user1446426 22 July 2012 в 04:19
поделиться