c - 为什么我的exe文件在其他电脑上无法运行? [调试]

标签 c windows debugging visual-studio-2008 release

我在我的电脑[windows 8 x64]中用TurboC+编写了一个简单的C程序。

我编译并运行它,没有任何错误。但在 make exe 文件后尝试运行它。但我收到一条错误消息,提示“该应用程序无法在您的电脑上运行。要查找适合您的电脑的版本,请咨询软件发行商”。

为什么我会收到此错误?

之后,我在 Visual Studio 2008 中编写了简单的 C 程序,并编译并运行了它。并构建 exe 文件。

exe 文件在我的电脑上运行。但是当我尝试在笔记本电脑中运行相同的 exe 文件时,它显示播种错误。我用谷歌搜索了这个错误,有人写道我必须在 Release模式下构建 exe。他说我可以在配置管理器中更改模式。但我在 Visual Studio 2008 中找不到任何东西。

有人可以向我解释一下调试发布的事情吗!请。

我对此很困惑。

我是编程初学者。所以我对这些东西了解不多。

谢谢。

最佳答案

首先,C 可执行文件与平台相关,这意味着您无法在 x86 处理器上运行为 x64 编译的可执行文件。 (相反的情况也可能有效,但这是一种特殊情况。)

此外,您无法在 Windows 等上运行为 Linux 编译的可执行文件。

问题的第二部分是您的编译器有一个标准库(VC 运行时或 libc 等),可以与您的可执行文件静态或动态链接。如果它是动态链接的,您必须将标准库与可执行文件一起分发。

http://askleo.com/do_i_need_these_microsoft_visual_c_redistributables/

发布与调试配置可能与静态或动态链接的运行时有任何关系,也可能没有任何关系,这取决于所使用的编译器和配置。您必须阅读编译器的手册。

关于c - 为什么我的exe文件在其他电脑上无法运行? [调试],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25871682/

相关文章:

c++ - 找出调用 __fastfail 的原因

c++ - 为什么 gdb 会在断点处自动继续?

c++ - 如何在 Windows 上为 C/C++ 中的文件预先分配空间?

c++ - 枚举二进制序列

C递归偶奇数索引数字变化

c++ - 在系统范围内更改所有窗口文本框的渲染机制

windows - 是否有免费的 "Add Connection"或 "SQL Connection"对话框?

.net - 如何在注册表中存储 SecureString?

c# - 调试版本和发布版本之间的性能差异

c - 在c中选择动态创建的内存池