이것은 간단한 문제 일 것이라고 생각했지만 답변을 찾는 데 어려움이있었습니다.SWIG - Java 프록시 클래스 배열 매개 변수
나 C++에 정의 된 구조체를 가지고, 이제 가정 해 봅시다 :
struct MyStruct
{
int a;
int b;
};
이는 SWIG로 자바 프록시 클래스 MyStruct
에 랩됩니다.
void myFunction(struct MyStruct arg[], int amount);
SWIG 포인터 파라미터를보고, 따라서 그것의 파라미터로서 단일 MyStruct
오브젝트 사용하는 함수의 Java 랩퍼 생성 :
void myFunction(MyStruct arg, int amount) { /**/ }
를 I는
struct MyStruct
의 배열을 얻어 C++의 기능을 갖는다
SWIG에서 MyStruct
Java 객체 배열을 가져 오는 Java 함수를 생성하려면 어떻게해야합니까? 필자는 원시 타입의 배열을 이해할 수 있었지만 사용자 정의 래핑 된 타입에서 작동하도록하는 방법을 찾지 못했습니다.
그래서 내 원하는 자바 함수 서명이 될 것입니다 :
void myFunction(MyStruct[] arg, int amount);
편집 : 업데이트 문구 프록시 클래스의 적절한 꿀꺽 꿀꺽 명칭을 사용.
이것은 실제로 가변적 인 함수입니까? – Flexo
@Flexo 아니, 죄송합니다. 구문이 어떻게 혼란 스러울 지 생각하지 않았습니다. P 대답을 명확히하기 위해 편집했습니다. –
C++은 배열의 길이를 어떻게 알 수 있습니까? 그것은 고쳐 졌습니까? 아니면 마술 최종 가치? 또는 생략 된 인수 중 하나? (내가하고있는 것은 실제, 작동하지만 최소한의 예가 필요한 것을 정확히 이해하는 것이 더 쉽다는 것입니다.) – Flexo