2010-05-02 6 views
0

NS2를 사용하여 C++에서 새로운 클래스를 만든 다음이를 otcl에 연결합니다. 링키지와 모든 것이 작동하지만 객체에서 otcl 변수를 사용하려고하면 문제가 발생합니다.NS2, Otcl : 클래스 내 소유 인스턴스의 변수를 사용합니다.

예를 들어 변수가 X 인 "Node"클래스가 있다고 가정합니다. 코드에서이 값을 설정하고 나중에 if 문에서 사용하려고합니다. 난 아무데도이 변수 x를 사용하려고하면 지금은 데 문제가

$node1 set x 4 

: 변수를 설정

이 코드를 사용하여 문제가되지 않습니다. C++에서는 일반적인 변수 (예 : y)를 사용하고 "y=node.x"이라고 말한 다음 일부 if 문에서 y을 사용할 수 있습니다. 나는 otcl에서 같은 일을 수행하는 방법을 찾으려고했지만 실패했다.

도움이 필요합니다.

미리 감사드립니다.

답변

0

나는 각각 인스턴스 변수를 읽고 쓰는 데 OTclSetInstVarOTclGetInstVar을 찾고 있다고 생각한다. 그들은 평범한 C 헤더 파일 인 otcl.h에 정의되어 있으며 일반 Tcl API에 익숙하다면 그 사용법이 분명해야합니다.

최신 XOTcl (지난 2 년간 Google Summer of Code를 통해 XOTcl 주 저자가 참여한 프로젝트에서 수집 한 것) 위에 NS2 버전이 빌드 ​​된 경우 API는 XOTclOSetInstVarOTclGetInstVar (또는 오히려 포함되어 있음) xotcl.h입니다. 형식 서명은 이 아니라입니다. 논리적으로 드롭 인 (drop-in) 대체품 일뿐 실제 드롭 인 (drop-in)은 아닙니다. (OTcl은 순수한 문자열 기반 API를 사용하지만, XOTcl은 훨씬 더 효율적이지만 복잡한 - Tcl_Obj 기반 API를 사용합니다.)

1

답장을 보내 주셔서 감사합니다. 그러나 나는 정말로 필요한 것을 발견했다. (그리고 효과가있다.) 이것은 다음과 같다 :