如何为写在 Linux 上的 Windows 创建一个 C 可执行文件,而不是在它完成 运行 后立即关闭 cmd?
How do I make a C executable for Windows written on Linux not close the cmd as soon as it finishes running?
因此,我使用 mingw32-gcc 在 Linux 上为 Windows 编写了一个 C 可执行文件。这是一个基本的输入输出程序,您键入一个输入并得到一个答案。
问题是 cmd 立即关闭,所以用户看不到输出。
假设我不能使用 Windows 在那里编辑可执行文件,我应该在我的代码中更改什么/编译时我应该使用什么标志?
inb4:
- 用户应该单击并 运行 它,所以 运行 从 cmd 中安装它没有帮助。
- 在我的代码末尾添加getchar()/scanf()都不行,有点作弊的感觉
已解决:所以我所要做的就是在每个 scanf( ) 并且在用户输入关闭 cmd 的代码末尾还有一个。
最后等待输入不是作弊,而是惯例。程序还应该如何知道它应该保持打开状态多长时间?通过直接关闭控制台 window 来关闭程序比等待用户输入完成更欺骗。
例如,您可以提示用户按下任何键,例如 Press any key to exit...
或类似的东西。
如果你想要一些特定的延迟,你可以使用 windows.h
中的 Sleep()
而不是等待输入。
参见
因此,我使用 mingw32-gcc 在 Linux 上为 Windows 编写了一个 C 可执行文件。这是一个基本的输入输出程序,您键入一个输入并得到一个答案。 问题是 cmd 立即关闭,所以用户看不到输出。
假设我不能使用 Windows 在那里编辑可执行文件,我应该在我的代码中更改什么/编译时我应该使用什么标志?
inb4:
- 用户应该单击并 运行 它,所以 运行 从 cmd 中安装它没有帮助。
- 在我的代码末尾添加getchar()/scanf()都不行,有点作弊的感觉
已解决:所以我所要做的就是在每个 scanf( ) 并且在用户输入关闭 cmd 的代码末尾还有一个。
最后等待输入不是作弊,而是惯例。程序还应该如何知道它应该保持打开状态多长时间?通过直接关闭控制台 window 来关闭程序比等待用户输入完成更欺骗。
例如,您可以提示用户按下任何键,例如 Press any key to exit...
或类似的东西。
如果你想要一些特定的延迟,你可以使用 windows.h
中的 Sleep()
而不是等待输入。
参见