VS 6.0编写的程序(Win 32),但CMD无法运行该exe程序,哪位大神帮忙看下什么原因,谢谢!代码在下面

VS 6.0编写的程序(Win 32),但CMD无法运行该exe程序,哪位大神帮忙看下什么原因,谢谢!代码在下面,第1张

你在建立工程的时候肯定选的是win32窗口程序,你要选那个图标像命令提示符的那个工程应该叫console工程,你这个是用来写窗口程序用的,编译器会在编译成exe文件时,在文件头里注明这个exe是非dos程序所以你在运行这个exe的时候是不会d出cmd窗口的然后你的WinMain函数被执行完毕立马退出了,你选dos那个图标建立工程,编译器会在exe中写入dos头,这样在启动这个exe的时候系统会自动加载一个cmd窗口用来显示,这样你就能看到你printf的输出了,如果你想让你的程序运行在后台那么你就要用WinMain这个建立工程,这样程序启动就干干净净没有窗口只在后台运行了,你也可以调用api函数来自己建立一个控制台并不一定要console工程来实现,在工程中添加include "windowsh"头文件,调用AllocConsole函数建立控制台,注意一个进程只能建立一个控制台,用GetStdHandle函数获取控制台的输入输出和错误句柄,WriteConsole函数往控制台写入字符,printf其实在底层也是调用的WriteConsole这个API函数来实现的因为windows下的编程都是通过调用API接口来实现的,printf为了实现跨平台只不过是封装了Writeconsole函数,ReadConsole往控制台读取数据

最后FreeConsole函数用来释放控制台窗口,函数还有很多可以改变文件颜色大小字体等等就不一一介绍了,如果还有不懂的再追问我

vs2010编译出来的程序默认是debug模式是要用到系统以外的msvcr100dll,这个文件在没有装vs或vs运行库的电脑里一般没有,release模式默认要用到系统外的msvcr100dll,这个文件也是一般电脑上没有,你最好把相应的dll放在同一个文件夹中传过去,以便正常运行。还有,如果你直接传exe文件,qq会把这个exe文件重命名成“exe重命名文件”,也就是exe文件到对方那里成了"重命名"文件,结果对方电脑找不到相关联的程序,所以提示不知道用什么打开程序,你可以让他再重命名成exe文件,要么你把exe文件放在一个文件夹里面,然后把文件夹传过去,文件夹里面的exe文件是不会重命名的成“重命名”文件的,只有直接传exe文件时才会被替换成重命名文件。

菜单里面有个发布,可以生成一个安装包,如果您不需要那个功能,可以在工程目录下找到\bin\Debug里面就是EXE如果有外带的DLL,记得要带上。

另外你只是把bin里面的exe文件进行运用是不行的,除非别人的电脑上都装有vs2005

以上就是关于VS 6.0编写的程序(Win 32),但CMD无法运行该exe程序,哪位大神帮忙看下什么原因,谢谢!代码在下面全部的内容,包括:VS 6.0编写的程序(Win 32),但CMD无法运行该exe程序,哪位大神帮忙看下什么原因,谢谢!代码在下面、为什么VS不能生成exe文件、vs2005怎样生成一个.EXE(可执行)文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10174382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存