.net 用VC编程++;在窗外跑
关于在VC++2008中编程,我有以下问题.net 用VC编程++;在窗外跑,.net,c++,windows,visual-c++,.net,C++,Windows,Visual C++,关于在VC++2008中编程,我有以下问题 如果我在Windows7中制作一个Win32控制台程序,它会在7以下的任何窗口中工作吗 我能独立于.NET框架的C++应用程序吗?如果是,请简要说明如何做 如果VC++中的应用程序可以运行.exe文件,我可以让它在其他操作系统(如Linux)上运行吗?如果是,请简要说明如何做 我正在学习VC++,只是想澄清一些疑问。 希望他们能很快被清除 提前感谢,谢谢 干杯1>取决于:如果不使用任何Windows 7特定的API,在Windows Vista上运行该
干杯1>取决于:如果不使用任何Windows 7特定的API,在Windows Vista上运行该程序不会有问题;如果您不使用任何Vista特定的API,那么在XP上运行它就不会有问题,等等 2> 当然,您只需要创建一个纯本机项目,而不是一个C++/CLI项目
3> 你需要一个仿真器,比如“wine”,在linux下运行windows可执行文件取决于:如果不使用任何windows 7特定的API,你在windows Vista上运行该程序不会有问题;如果您不使用任何Vista特定的API,那么在XP上运行它就不会有问题,等等 2> 当然,您只需要创建一个纯本机项目,而不是一个C++/CLI项目
3 >在Linux下,Windows需要一个仿真器,比如“葡萄酒”来运行Windows可执行文件< P > 3:如果你编写了可移植的C++控制台应用程序(不使用Windows特定的函数),你可以简单地使用一些编译器来重新编译其他平台,以平台为目标。
< P> 3:如果你编写了可移植的C++控制台应用程序(不使用特定于Windows的函数),您只需使用针对该平台的编译器为其他平台重新编译即可。大多数情况下……但请记住: 如果要在不使用.NET framework的情况下编程,请在创建新项目时选择任何“Visual C++”项目,但不要使用任何CLR项目本地C++应用程序(控制台或窗口)如果你不链接到新的操作系统中的函数调用或API,那么它将运行在旧的Windows操作系统上。例如,不要调用和期望应用程序在WindowsXP上工作。但是,在WIN7上运行的最新版本Visual C++上,可以很容易地得到控制台C/C++应用程序编译。在XP上运行的前任
我相信您可以通过使用_WINNT_WIN32 define来防止意外使用新APIWindows上的本地C++应用程序的另一个考虑是默认情况下,VisualC++将选择动态链接来包括C运行时(例如MVCRT100.DLL)。。这些dll在您将EXE复制到的计算机上并不总是可用。当您在其他计算机上运行EXE时,可能会出现无法找到MSVCRT*.dll的应用程序错误。如果出现这种情况,您可以在项目设置中切换到静态链接(然后直接将EXE复制到其他计算机上),或在要在其上运行EXE的其他计算机上预安装适当的MSVCRT。Visual Studio将MSVCRT预安装为其自身安装的一部分。Visual Studio附带MSI文件,用于安装MSVCRT,您可以重新分发。EXE的调试版本可能需要手动将MSVCRT DLL的调试版本复制到目标计算机选择调试版本的静态链接,或者只使用零售MSVCRT链接应用程序的调试版本
如果你选择使用MFC框架进行UI开发,同样的考虑也适用于MFC及其关联的DLL(但你说的是控制台应用程序,所以你不必担心这一点)如果没有黑客攻击,您的EXE将无法在Linux上运行。(重新编译更容易)。但如果您在.NET中编写控制台应用程序,则EXE在Linux上运行Mono的可能性很大。大多数情况下……但请记住: 如果要在不使用.NET framework的情况下编程,请在创建新项目时选择任何“Visual C++”项目,但不要使用任何CLR项目
本地C++应用程序(控制台或窗口)如果你不链接到新的操作系统中的函数调用或API,那么它将运行在旧的Windows操作系统上。例如,不要调用和期望应用程序在WindowsXP上工作。但是,在WIN7上运行的最新版本Visual C++上,可以很容易地得到控制台C/C++应用程序编译。在XP上运行的前任
我相信您可以通过使用_WINNT_WIN32 define来防止意外使用新APIWindows上的本地C++应用程序的另一个考虑是默认情况下,VisualC++将选择动态链接来包括C运行时(例如MVCRT100.DLL)。。这些dll在您将EXE复制到的计算机上并不总是可用。当您在其他计算机上运行EXE时,可能会出现无法找到MSVCRT*.dll的应用程序错误。如果出现这种情况,您可以在项目设置中切换到静态链接(然后直接将EXE复制到其他计算机上),或在要在其上运行EXE的其他计算机上预安装适当的MSVCRT。Visual Studio将MSVCRT预安装为其自身安装的一部分。Visual Studio附带MSI文件,用于安装MSVCRT,您可以重新分发。EXE的调试版本可能需要手动将MSVCRT DLL的调试版本复制到目标计算机选择调试版本的静态链接,或者只使用零售MSVCRT链接应用程序的调试版本
如果你选择使用MFC框架进行UI开发,同样的考虑也适用于MFC及其关联的DLL(但你说的是控制台应用程序,所以你不必担心这一点)如果没有一些黑客攻击,你的EXE将无法在Linux上运行。(重新编译更容易)。但是如果你在.NET中编程控制台应用程序,EXE很有可能在Linux上运行Mono