c++ - 无法运行DLL链接的C++ exe。 “此程序无法在DOS模式下运行。”错误

标签 c++ visual-c++ dll dos

我正在尝试运行XP Windows计算机中命令提示符下与我的DLL文件链接的控制台C ++应用程序。最近,我开始获取“此程序无法在DOS模式下运行”。作为错误消息。据我了解,如果在纯MS-DOS环境中调用此exe,则这是所有DLL中要填充的填充消息。那么,为什么要在Windows CMD窗口中得到此信息?它是否告诉我我的一个DLL有问题?

我也观察到错误消息后Windows路径描述如下更改

<--------------屏幕转储------------------------------>

C:\ Program Files \ MYPROGRAMS \ APPLICATIONS> foo.exe
该程序不能在DOS模式下运行。

C:\ PROGRA〜1 \ MYPROG〜1 \ APPLICAT〜1>
<--------------屏幕转储------------------------------>

为什么路径文本更改为Win95样式(需要更好的短语)?是否将系统设置为某种兼容模式?

大多数谷歌搜索表明此错误仅在安装过程中发生(与我的方案不同)。该链接
http://www.personalcopy.com/doserror.htm讨论了一个变体,但是DOS窗口属性中不再显示该复选框。

任何帮助和指针表示赞赏。

最佳答案

首先使用十六进制编辑器打开EXE,要运行的文件。打开后,启动时是否可以看到MZ签名...如果不是MZ,则可能是Exe格式不正确。这个,你可以继续前进。

关于c++ - 无法运行DLL链接的C++ exe。 “此程序无法在DOS模式下运行。”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2697516/

相关文章:

c++ - 系统(“pause”)澄清

visual-c++ - 新安装的 Visual Studio 2012 缺少头文件

c++ - Lib 和 DLL 链接到 exe 错误 "cannot read at 0x300"

c++ - 面临 recv() 和 send() winsock api 的问题。 Recv() 在接收最后一个数据包时挂起

C 数组指针数学。按索引访问时存在内存冲突

c# - 从 C++/CLI 调用 C# dll 时出现 FileNotFoundException

c++ - DLL应用程序的在线更新

c++ - cmake 将 header 包含到每个源文件中

C++ std::map 项按键的降序排列

c++ - 编译错误:ifstream::open 只接受引号中的字符串值 ""而不是字符串变量