2
emscripten :기본 데이터 포인터 개체 및 질문 다른 표현
내가 자바 스크립트에 대한 C/C++ API에서 멤버 변수로 배열 객체를 반환하는 함수를 결합하는 방법을 모르겠어요를 배열의 길이는 선험적입니까?
I는 기본 데이터 형식 포인터
struct Person
{
const char* name;
int age;
Person()
{}
};
갖는 구조체를 가지고 I 칠이이 구조체
Person getPerson()
{
Person p = Person();
p.name = "Philipp";
p.age = 77;
return p;
}
의 오브젝트와 다음 embindings 반환해야하는 기능을 가지고
EMSCRIPTEN_BINDINGS() {
value_object<Person>("Person")
.field("age", &Person::age)
.field("name", &Person::name)
;
function("getPerson", &getPerson);
}
이것은 작동하지 않으며 컴파일러도 알려줍니다 static_assert failed "Implicitly binding raw pointers is illegal. Specify allow_raw_pointer<arg<?>>"
API documentation을 이해하려고했지만 작동하지 못했습니다. 예 : 난 .field
name
에 allow_raw_pointer()
(및이 변종)을 추가하려고했습니다.
답장을 보내 주셔서 감사합니다. 내가 받아들이 기 전에 std :: string을 사용하지 않고 const char *를 getter에 반환하는 것이 가능한지 궁금합니다. – Philipp
필자가 아는 한'(...). function ("namePtr", & getPersonNamePtr, allow_raw_pointers())와 같은 것은 컴파일 할 수 있지만 런타임 오류가 발생합니다. http://stackoverflow.com/questions/20355880/emscripten-how-can-i-solve-unboundtypeerror – zakki