设置Console.WriteLine和Debug.WriteLine

问题描述

|| 当我在Visual Studio中创建控制台应用程序时,将自动提供一个“ 0”窗口,可在该窗口上写入和读取文本。这种行为在哪里设置? VS是这样做还是仅仅是编译的.Net程序的结果? 附带说明一下,VS如何将ѭ1挂钩到输出窗口?     

解决方法

        控制台行为是exe中PE标头的一部分;有一个标记来区分控制台和Windows应用程序。此标志的值几乎是Windows exe和控制台exe之间的唯一基本区别(您仍然可以从控制台exe等创建表单,并且可以从Windows exe写入控制台,尽管您不会\'无法看到任何东西)。 如果您想玩的话,可以使用
editbin
切换该标志-特别是
/subsystem:windows
标志。 调试输出是因为调试器附加到预定义的跟踪点以收集输出。如果按ctrl + f5,它将在不附加任何钩子的情况下运行,因此您可以更直接从外壳运行它。     ,        编译控制台应用程序时,它会创建一个.exe文件,它是一个控制台应用程序。如果您从Windows资源管理器中启动该exe,则会调用cmd窗口。如果您在没有调试器的情况下运行该应用程序,则与从“运行”命令或Windows资源管理器中运行该应用程序本质上是一样的...