2012-07-11 5 views
0

테스트를 위해 일부 기능을 재정의하기 위해 사용하는 C++ 라이브러리가 있습니다. 그러나 명령 줄에서 프롬프트하도록 설정했습니다.Tcl/Tk C++ 라이브러리 용 GUI 인터페이스

명령 줄 대신 프롬프트로 사용할 GUI를 만들려고합니다.

나는 Tcl/Tk를 조사 해왔다. 그러나 내가 원하는 것을 할 수 있는지 잘 모르겠다. Tcl/Tk 래퍼를 사용하여 라이브러리 함수를 양식화 할 수 있습니까?

어떻게 든 내 C++ 코드에 Tcl/Tk를 포함시킬 수 있습니다. 그래서 라이브러리 내에서 바로 이러한 함수를 호출 할 수 있습니까?

+0

"Tlc"또는 "Tcl"을 의미합니까? –

+0

네, 당신은 완전히 맞습니다. 나는 포스트를 편집했습니다 - 감사합니다! –

답변

0

아마도 C++ 함수를 swig로 랩핑하고 Tcl에서 호출하는 것이 가장 쉽습니다 (this intro 참조). 그러면 Tk를 사용하여 입력 매개 변수에 대한 GUI를 만들고 결과를 표시 할 수 있습니다.

0

이 경우 고려해야 할 두 가지 메커니즘은 SWIGcritcl in C++ mode입니다. 전자는 C++ 코드를 이미 가지고 있기 때문에 쉽게 얻을 수 있으며 후자는 더 자연스럽고 ("Tcl-ish") 언어 임베딩을 생성합니다.

일단 라이브러리를 연결했다면, 가장 먼저해야 할 일은 작동하고 있음을 알 수 있도록 약간의 테스트 스위트 (Tcl과 함께 제공되는 tcltest 표준 패키지 사용)를 작성하는 것입니다. (이것은 많은 번거 로움을 줄이고 머리카락을 찢어 버리지 않습니다!) 코드가 잘 작동한다면 하루 이틀 안에 충분한 테스트 스위트를 갖게 될 것입니다. 그런 다음 GUI에 연결하십시오 (Tk는 실제로 유용합니다). 정상적으로 작동하는 비즈니스 로직 계층을 사용한다는 지식에서 안전하게 작성할 수 있습니다. 가능하다면 C++ 코드에 GUI 코드를 넣는 것을 피하는 것이 좋습니다. 얽힘없이 깨끗한 인터페이스를 만드는 것이 훨씬 낫습니다. (OK, 항상 피할 수있는 것은 아니지만, 특히 심한 시각화를 수행하는 경우에는 더 많은 작업이 필요합니다.)

+0

DLL 함수를 직접 호출 할 수있는 [ffidl] (http://wiki.tcl.tk/1197)을 사용할 수도 있습니다. –