2013-06-25 3 views
0

C# Windows Phone Gui 응용 프로그램에 기존 C++ 콘솔 응용 프로그램을 포함하려고합니다. 나는 이미 C++ 콘솔 응용 프로그램을 Windows (Phone) 런타임 구성 요소로 변환하여 C#에서 호출 할 수있게했습니다. 내가 알고 싶은 것은 원래 콘솔 출력을 C# XAML 콘솔로 라우팅하는 것입니다.이 콘솔은 비슷한 응용 프로그램 용으로 이미 만들었습니다. 내 문제는 C# 콘솔이 새로운 텍스트로 자신을 업데이트하기 위해 "쓰기"함수를 사용하는 "스트림"에서 파생 된 클래스와 함께 작동한다는 것입니다.Windows (Phone) C#과 C++ 사이의 런타임 구성 요소 스트림

저는 불행히도 현재 어떻게 C# 및 C++에서 제 목적으로 사용할 수있는 스트림을 만들어야하는지 생각해 왔습니다. 나는 주변을 수색했지만 적절한 예를 찾을 수 없었다.

차이점이 있으면 C++ 응용 프로그램이 "log"라는 함수를 통해 모든 출력을 콘솔에 쓰므로 출력을 일반 콘솔 출력에서 ​​캡처 할 필요가 없습니다.

+0

휴대 전화에는 콘솔이 없습니다. UI에서 그걸 어떻게 든 시뮬레이트하고 있습니까? –

+0

네, 스트림을 사용하는 위에서 언급 한대로 제 자체 콘솔을 가지고 있습니다 ... – Gerharddc

답변

0

C++ log 함수에서 사용할 수있는 .NET 콜백을 제공해야합니다.

  1. log 함수와 함께 WinRT 인터페이스를 구현해야합니다 (예 : ILog).
  2. 이 인터페이스를 구현하는 C# 클래스를 만들고 시뮬레이트 된 콘솔에 기록해야합니다.
  3. .NET에서 응용 프로그램을 시작하면서이 클래스의 인스턴스를 만들고 WinRT를 통해 ILog 개체를 C++에 전달합니다.
  4. C++에서이 인터페이스의 복사본을 보관하고 C++ log 함수 내에서 사용하십시오.
관련 문제