如何使用Cygwin shell执行<code>a.exe</code>?
我在Windows上的Eclipse中创建了一个C文件,然后使用Cygwin导航到该目录。我在C源文件上调用了gcc,生成了<code>a.exe</code>。我想运行<code>a.exe</code>。
如何使用Cygwin shell执行<code>a.exe</code>?
我在Windows上的Eclipse中创建了一个C文件,然后使用Cygwin导航到该目录。我在C源文件上调用了gcc,生成了<code>a.exe</code>。我想运行<code>a.exe</code>。
./a.exe在提示下
您应该可以通过键入文件名来调用它。你可能得打电话/.exe,因为出于安全原因,当前目录通常不在路径上。
只需键入即可/壳中的a
要在当前目录中执行文件,要使用的语法是:<code>/foo
正如allain所提到的,/a.exe
是使用Cygwin在工作目录中执行a.exe的正确方法。
注意:您可能希望使用-o
参数对cc
指定自己的输出文件名。例如:cc-helloworld.c-o helloworld.exe
。
托马斯写道:
显然,gcc的行为与C编程语言中描述的不同
一般来说是这样。为了让你的程序在Windows上运行,它需要以.exe结尾,“C编程语言”并没有考虑到Windows程序员。正如您所看到的,cygwin模拟了POSIX环境的许多(但不是全部)功能。
cygwin下的gcc不会生成“ELF 32位LSB可执行文件”类型的Linux可执行输出文件,但它会生成“PE32 executable for MS windows”类型的windows可执行文件,该文件依赖于cygwin1.dll,因此需要在cygwin shell下运行。如果你需要在dos提示下独立运行它,那么它们cygwin1.dll需要在你的Windows PATH中。
-广告。
显然,gcc的行为与C编程语言中描述的不同,它说命令cchelloworld.C会生成一个名为a.out的文件,该文件可以通过在提示符上键入a.out来运行。
Unix在默认情况下并没有这样的行为(所以你可以在前面写不带./的可执行文件名)。它被称为.exe,因为否则Windows不会执行它,因为它从扩展名中获取文件类型。
就这么说吧
> a
确保能找到它(路径)。