Я хочу встроить существующее консольное приложение C ++ в мое приложение C # Windows Phone Gui. Мне уже удалось преобразовать консольное приложение C ++ в компонент времени выполнения Windows (Phone), что позволяет мне вызывать его из C #. Что я хочу знать, так это перенаправить исходный вывод консоли на консоль C # XAML, которую я уже создал для аналогичного приложения. Моя проблема в том, что консоль C # работает с классом, производным от «Stream», который использует функцию «Write» для обновления себя новым текстом.
У меня, к сожалению, теперь есть идея, как мне создать поток, который может использоваться C # и C ++ для моих целей. Я искал вокруг, но не смог найти подходящий пример.
Если это имеет значение, вывод не должен быть захвачен из нормального вывода консоли, потому что приложение C ++ записывает весь свой вывод в консоль через функцию, называемую «log».
Вам нужно будет дать C ++ обратный вызов .NET, который ваш C ++ log
Функция может использовать.
log
функция в нем (например, ILog
).ILog
Объект к C ++ через WinRT.log
функция.Других решений пока нет …