또한 고려

또한 고려

프로그램을 개발할 때(예를 들어 C나 Python을 사용하여) 프로그램이 예상대로 실행되는지 확인하기 위해 디버그 메시지를 작성하는 경우가 많습니다. Linux에서는 , grep, sed등과 같은 도구를 사용하여 wc다양하고 유연한 방식으로 이러한 문자 메시지를 처리할 수 있습니다.

그러나 문자 메시지 대신 그래픽을 표시하려고 하면 일반적으로 몇 가지 문제에 봉착합니다. 일부 그래픽 라이브러리를 내 프로그램에 연결해야 하며(이 작업 자체는 설치 후 종종 어려움을 겪음) 특정 라이브러리에 필요한 상용구 초기화가 무엇인지 알아내야 합니다.

다음과 같은 것이 존재하는지 궁금합니다.그래픽 라이브러리를 프로그램에 연결하는 대신 "텍스트 디버그 메시지"를 표준 출력으로 출력하는 방법과 유사한 방식으로 "그래픽 디버그 메시지"를 파이프에 출력합니다. 그런 다음 이 파이프(stdout-graphics?)를 독립 실행형 프로그램으로 실행되는 일부 그래픽 뷰어로 리디렉션합니다(예: sed를 독립 실행형 프로그램으로 실행하는 방법과 유사).

내 이상적인 세상에서는 이런 일을 할 수 있다

gcc foo.c
./a.out 5>graphics_viewer

그리고 프로그램에서 생성된 "디버그 메시지"를 살펴보세요(아마도 2D에서 움직이는 일부 원과 점).

몇 가지 참고사항:

  • 그래픽 라이브러리를 직접 호출하는 대신 파이프를 사용하면 얼마나 많은 오버헤드가 발생할지 모르겠습니다. 또한 stdoutgraphics 인코딩으로 인해 얼마나 많은 오버헤드가 발생하는지 모르겠습니다(예: "draw_ectangle(30,20,100,100); putpixel(3,7); Flip();"과 같은 텍스트 스트림을 사용할 수 있습니까? 아니면 사용해야 합니까?) 압축 형식을 사용하십시오). 이상적으로는 가능한 한 일반적이어야 합니다. 파이프를 사용하는 것이 기본 라이브러리를 사용하는 것보다 최대 <10% 느린 경우에는 좋습니다.
  • 이 맥락에서 "그래픽 지침"에 대한 표준 형식(예: SDL 라이브러리의 모든 기능을 포함)이 이미 있는지는 모르겠습니다. 물론 PostScript, TikZ 등 소규모 영역에 특화된 언어도 많이 있습니다.
  • stdoutgraphics가 있으면 stdingraphics도 유용할 것입니다.

답변1

난 끝냈어. 원시 그래픽 명령을 출력하는 것이 아니라 상태 메시지를 출력합니다. 그런 다음 이러한 메시지를 이해하고 올바른 콘텐츠를 표시하는 디스플레이를 작성합니다.

완전히 사용자 정의된 디스플레이를 선택하거나 재사용이 가능한 보다 일반적인 언어를 만들 수 있습니다.

또한 고려

당신은 또한 사용을 고려할 수 있습니다단위 테스트 프레임워크. 단위 테스트는 특히 코드를 테스트하는 가장 좋은 방법입니다.테스트 중심 디자인. (내가 작성한 표준 출력 프로그램의 첫 번째 그래픽 출력은 테스트 하네스와 테스트 결과 시각화 도구였습니다.

당신은 또한 볼 수 있습니다

관련 정보