2012-10-12 4 views
0

때 함수에 값을 전달하는 방법 : C 코드에서 원래는 값이 나는 랩과 같은 자바의 기능이 SWIGTYPE

dosomething(SWIGTYPE_sometypeSTRUCT STRUCTtype); 

을 선언 그렇게 보이는 :

dosomething(sometypeSTRUCT* structtype); 

SWIGTYPE을 java 함수에 전달하는 방법은 무엇입니까? 내가 할 경우 : SWIGTYPE_sometypeSTRUCT something = new SWIGTYPE_sometypeSTRUCT();

그것은 작동하지 않습니다 .. 내가 설정 한 경우에만 작동합니다 = null. 지금까지 그것이 알고로 dosomething 기능이 걸리는 포인터가 불투명 한 유형 인 -

+0

생성 된 Java 기능이 'SWIGTYPE_sometypeSTRUCT'을 가져오고'SWIGTYPE_p_sometypeSTRUCT '가 아닌지 확인 하시겠습니까? – Flexo

답변

1

문제는 꿀꺽 꿀꺽가 정의 sometypeSTRUCT을 볼 수없는 점이다.

SWIG가 세부 정보를 알지 못하는 경우 의미있는 방법으로 랩핑 할 수 없으며 이런 유형의 C로 수행 할 수있는 일을하는 것이 안전합니다.

이 문제를 해결하려면 구조체 정의를 가져 오거나 SWIG 인터페이스 파일 내에 정의를 제공하는 데 아마도 %include을 사용하고 싶을 것입니다.

관련 문제