.net - 如何在 C++/CLI 应用程序中显示控制台?

标签 .net testing c++-cli output

我正在 VS 2012 中处理 C++/CLI 应用程序分配。出于测试目的,我试图将一些输出打印到控制台(以在构建它们时测试方法),但是此窗口没有控制台窗口表格申请。有没有办法让控制台窗口显示出来?

或者有人对我如何显示方法输出/结果有建议吗?

谢谢。

编辑 - 我想出了如何让控制台窗口工作。感谢大卫的回复。

最佳答案

正如@David 指出的那样,Debug::WriteLine 是跟踪状态或将状态发送到输出窗口的绝佳方式。

System::Diagnostics::Debug::WriteLine(L" -- Object State or Tracing");

但是,如果您仍然需要 Windows 应用程序的控制台窗口,请考虑以下事项:

// Beginning of Application
#if _DEBUG
    if (::AllocConsole())   // <-- http://msdn.microsoft.com/en-us/library/windows/desktop/ms681952(v=vs.85).aspx
        if (!::AttachConsole(ATTACH_PARENT_PROCESS))  // -1 == ATTACH_PARENT_PROCESS or Process ID
            System::Windows::MessageBox::Show(L"Unable to attach console window", L"Error", System::Windows::MessageBoxButton::OK, System::Windows::MessageBoxImage::Exclamation);
#endif

// Application End
#if _DEBUG
    ::FreeConsole();       // <-- http://msdn.microsoft.com/en-us/library/windows/desktop/ms683150(v=vs.85).aspx
#endif

请注意,只有在使用调试配置构建时才会看到。

希望这对您有所帮助。

关于.net - 如何在 C++/CLI 应用程序中显示控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23110463/

相关文章:

.net - 从私有(private)订阅源在 Docker 上恢复 Nuget

c# - 如何从 .NET Core 2.1/2.2 创建 Windows 服务

c# - 检查现金抽屉是打开还是关闭

C++,共享库,主函数中的 "unit tests"

c# - 使用互操作将整数数组从 C# 传递到 native 代码

.net - CORBA IIOPNet 和 OmniORBpy,带有值类型参数的远程方法调用问题

python - 如何在 Python 中测试 random.choice?

model-view-controller - MVC 数据注解测试

c++-cli - 我应该如何将 native C++ 指针放入 .NET 泛型集合中?

c++ - 使用 GetOpenFileName 仅从路径中获取文件名