关于C#:如何在Cygwin中执行文件?

关于C#:如何在Cygwin中执行文件?

How do I execute a file in Cygwin?

如何使用Cygwin Shell执行a.exe

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


提示符下的./a.exe


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


只需在外壳中输入./a


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

-广告。


托马斯写道:

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

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


要在当前目录中执行文件,使用的语法为:./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, 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不会执行它,因为它会从扩展名中获取文件类型。


随便叫

1
> a

确保找到它(路径)。


在Cygwin中启动时,您位于" / home / Administrator"区域中,因此将a.exe文件放在此处。

然后在提示符下运行:

cd a.exe

Cygwin将读取它,并要求您安装它。


推荐阅读