如何a.exe
使用 Cygwin shell 执行?
我在 Windows 上的 Eclipse 中创建了一个 C 文件,然后使用 Cygwin 导航到该目录。我在 C 源文件上调用了 gcc 并a.exe
生成了。我想跑a.exe
。
./a.exe 在提示符下
您应该可以通过输入文件名来调用它。您可能必须调用 ./a.exe,因为出于安全原因,当前目录通常不在路径上。
只需在 shell 中输入 ./a
要在当前目录中执行文件,使用的语法是:./foo
正如allain 所说,./a.exe
使用Cygwin 在工作目录中执行a.exe 是正确的方法。
注意:您可能希望使用该-o
参数cc
来指定您自己的输出文件名。这方面的一个例子是:cc helloworld.c -o helloworld.exe
.
托马斯写道:
显然,gcc 的行为不像 The C Programming language 中描述的那样
一般情况下会这样。为了让您的程序在 Windows 上运行,它需要以 .exe 结尾,“C 编程语言”并不是为 Windows 程序员编写的。如您所见,cygwin 模拟了 POSIX 环境的许多(但不是全部)功能。
cygwin下的gcc不会生成类型为“ELF 32-bit LSB executable”的Linux可执行输出文件,而是生成类型为“PE32 executable for MS Windows”的windows可执行文件,它依赖于cygwin1.dll,所以需要在 cygwin shell 下运行。如果你需要在 dos 提示下独立运行它,它们 cygwin1.dll 需要在你的 Windows PATH 中。
-广告。
显然,gcc 的行为不像 C 编程语言中描述的那样,它说命令 cc helloworld.c 会生成一个名为 a.out 的文件,可以通过在提示符下键入 a.out 来运行该文件。
很长一段时间以来,Unix 在默认情况下都没有以这种方式运行(因此您可以只在前面不带 ./ 的情况下编写可执行文件名称)。它被称为 a.exe,因为否则 Windows 不会执行它,因为它会从扩展名中获取文件类型。
就叫吧
> a
确保它会被找到(路径)。
当您在 Cygwin 中启动时,您位于“/home/Administrator”区域,因此请将您的 a.exe 文件放在那里。
然后在提示符下运行:
cd a.exe
Cygwin 将读取它,并要求您安装它。