C#控制台应用程序全部为16位?
当我构建一个快速测试控制台应用程序时,我正在阅读有关NTVDM.exe的信息,它在朋友的机器上崩溃,抱怨这个exe 据我所知,所有DOS cmd窗口(包括C#控制台应用程序)都以16位而不是32位运行 这是真的吗?这是否意味着所有my works console应用程序后台应用程序都以16位运行,而不是充分利用32位的可用性 Windows服务呢?我相信我们是作为一个控制台应用程序编写的,然后让它作为windows服务运行C#控制台应用程序全部为16位?,c#,console-application,16-bit,ntvdm.exe,C#,Console Application,16 Bit,Ntvdm.exe,当我构建一个快速测试控制台应用程序时,我正在阅读有关NTVDM.exe的信息,它在朋友的机器上崩溃,抱怨这个exe 据我所知,所有DOS cmd窗口(包括C#控制台应用程序)都以16位而不是32位运行 这是真的吗?这是否意味着所有my works console应用程序后台应用程序都以16位运行,而不是充分利用32位的可用性 Windows服务呢?我相信我们是作为一个控制台应用程序编写的,然后让它作为windows服务运行 谢谢为x86编译的任何.NET应用程序都将是32位的 C#控制台应用程序
谢谢为x86编译的任何.NET应用程序都将是32位的
C#控制台应用程序不是在“真正的”dos中运行的-它们运行在32位或64位环境中-这取决于您的操作系统和.NET framework。任何为x86编译的.NET应用程序都将是32位的 C#控制台应用程序不是在“真正的”dos中运行的-它们运行在32位或64位环境中-这取决于您的操作系统和.NET framework。a.NET控制台应用程序。(或任何其他.NET应用程序)将作为JIT的目标硬件运行。因此,对于x86,它将是32位的。A.NET控制台应用程序。(或任何其他.NET应用程序)将作为JIT的目标硬件运行。所以对于x86,它将是32位的 据我所知,所有这些都是DOS cmd windows (包括C#控制台应用程序)以 16位不是32位 这是真的吗 不,一点也不 您可以在Windows下运行DOS应用程序,它们是16位的,但它们看起来有点像控制台,这几乎是巧合 没有16位的.NET应用程序,应用程序是否为控制台模式与它是16位还是32位没有区别 据我所知,所有这些都是DOS cmd windows (包括C#控制台应用程序)以 16位不是32位 这是真的吗 不,一点也不 您可以在Windows下运行DOS应用程序,它们是16位的,但它们看起来有点像控制台,这几乎是巧合
没有16位的.NET应用程序,应用程序是否为控制台模式与它是16位还是32位没有区别。控制台exe没有什么特别之处;它只是一个PE文件。因此,无论控制台、winform exe还是windows服务,它都将以编译时的任何模式运行 Visual Studio etc永远不会生成16位exe。x86对x64更有趣-p
您的朋友可能没有安装.NET framework(或只有1.1版)。控制台exe没有什么特别之处;它只是一个PE文件。因此,无论控制台、winform exe还是windows服务,它都将以编译时的任何模式运行 Visual Studio etc永远不会生成16位exe。x86对x64更有趣-p 您的朋友可能没有安装.NET framework(或者只有1.1版) 据我所知,所有DOS cmd窗口(包括C#控制台应用程序)都以16位而不是32位运行 你错了。所有cmd.exe窗口均为32位或64位,具体取决于体系结构 DOS与Windows ME一起在大约十年前去世 据我所知,所有DOS cmd窗口(包括C#控制台应用程序)都以16位而不是32位运行 你错了。所有cmd.exe窗口均为32位或64位,具体取决于体系结构
DOS与Windows ME一起在大约十年前消亡。我不知道有哪种.NET VM实现能够在16位模式下运行。Microsoft.NET运行时和Mono都是32/64位的。我不知道其他较小的,但如果它们能在16位模式下工作,我会感到惊讶 此外,cmd.exe以32位模式运行,因为cmd.exe是32位Windows应用程序。另一方面,command.com以16位模式运行 实际上,控制台应用程序远不是天生的16位。这根本不是真的,在Windows之前甚至不是真的,因为x86保护模式是32位的,所以任何在portected模式下运行的DOS游戏或应用程序都是32位的
在.NET中,您的UI类型(或缺少Windows服务中的UI)不会影响应用程序的字长。默认情况下,.NET二进制文件是独立于平台的,根据主机的.NET Framework、内核等类型,可以作为32位或64位应用程序执行。尽管它们也可以直接编译为64位。我不知道有哪种.NET VM实现能够在16位模式下运行。Microsoft.NET运行时和Mono都是32/64位的。我不知道其他较小的,但如果它们能在16位模式下工作,我会感到惊讶 此外,cmd.exe以32位模式运行,因为cmd.exe是32位Windows应用程序。另一方面,command.com以16位模式运行 实际上,控制台应用程序远不是天生的16位。这根本不是真的,在Windows之前甚至不是真的,因为x86保护模式是32位的,所以任何在portected模式下运行的DOS游戏或应用程序都是32位的
在.NET中,您的UI类型(或缺少Windows服务中的UI)不会影响应用程序的字长。默认情况下,.NET二进制文件是独立于平台的,根据主机的.NET Framework、内核等类型,可以作为32位或64位应用程序执行。尽管它们也可以直接编译为64位。即使在DOS下,.EXE也可以是16位或32位(使用适当的编码或DOS extender库)。即使在DOS下,.EXE也可以是16位或32位(使用适当的编码或DOS extender库).NTVDM.EXE是一种DOS仿真器,支持在假定CPU为16位且DOS系统调用可用的环境中运行16位
.COM
和.EXE
文件。它与命令提示的唯一关联是文本模式DOS程序使用控制台窗口提供文本模式下VGA屏幕的模拟
如前所述,没有.NET VM a