如何在Cygwin中执行文件?

时间:2020-03-05 18:45:27  来源:igfitidea点击:

如何使用Cygwin Shell执行a.exe

我在Windows的Eclipse中创建了一个C文件,然后使用Cygwin导航到该目录。我在C源文件中调用了gcc,并生成了" a.exe"。我想运行a.exe

解决方案

回答

提示符下的./a.exe

回答

我们应该可以通过输入文件名来调用它。我们可能必须调用./a.exe,因为出于安全原因,当前目录通常不在路径中。

回答

只需在外壳中输入./a

回答

随便叫

> a

确保找到它(路径)。

回答

要在当前目录中执行文件,使用的语法是:。/ foo

正如allain所提到的,。/ a.exe是使用Cygwin在工作目录中执行a.exe的正确方法。

注意:我们可能希望对cc使用-o参数来指定自己的输出文件名。例如:cc helloworld.c -o helloworld.exe。

回答

托马斯写道:

Apparently, gcc doesn't behave like the one described in The C Programming language

它一般。为了使程序在Windows上运行,必须以.exe结尾,并不是在考虑Windows程序员的情况下编写" C编程语言"。如我们所见,cygwin模拟了POSIX环境的许多(但不是全部)功能。

回答

Apparently, gcc doesn't behave like the one described in The C Programming language, where it says that the command cc helloworld.c produces a file called a.out which can be run by typing a.out on the prompt.

Unix默认不会以这种方式运行(因此,我们只需在前面没有./的情况下编写可执行文件名称)就可以了。它称为a.exe,因为Windows不会执行它,因为它会从扩展名中获取文件类型。

回答

cygwin下的gcc不会生成类型为" ELF 32位LSB可执行文件"的Linux可执行文件输出文件,但是会生成类型为" MS Windows的PE32可执行文件"的Windows可执行文件,该文件依赖于cygwin1.dll,因此需要在cygwin shell下运行。如果我们需要在dos提示符下独立运行它,则cygwin1.dll需要位于Windows PATH中。

-广告。