Java 인터페이스를 만들 때 Swig을 사용하고 있습니다. 기본적으로, C++에서 내가 템플릿이 (이 템플릿은 내가 꿀꺽 꿀꺽 통해 자바로 내 보내야 API의 일부 기능의 반환 값으로 사용됩니다SWIG 변경 기능 서명
template<class T> class TSizedArray
{
int GetLength();
T* GetElements() const;
...
}
class Producer
{
TSizedArray<long> GetLongs();
...
}
. 그러나, 자바에서 우리는이 대신 네이티브 자바 배열을 사용하려면 래퍼 :
Java:
long[] result = Producer.GetLongs();
나는 꿀꺽 꿀꺽와이를 달성하는 방법을 잘 모르겠습니다 템플릿은 여러 인스턴스화를 가지고 있으며, 내가 사용 할 수 있었다 입력 및 다른 클래스에서 다양한 방법의 출력으로 사용됩니다..
%typemap(jstype) TCustomElementList "long[]"
생성 된 Java 인터페이스를 long [] GetLongs()로 가져 오지만 생성 된 구현은 TCustomElementList 유형의 새 객체를 만듭니다.
어떤 아이디어 주셔서 감사합니다.
P. 코드는 실제와 다르다 - 일반적으로 최소한의, 그러나 당신이하고있는 일에 대한 완전한 예를 게시하면 질문에 대답하는 것이 더 쉽다 -이 경우에는 모든 것이 두 개의 클래스에서 비공개 였음을 발견하는 데 너무 분간한다. 쇼, 누락 된 세미콜론. – Flexo