48

如何a.exe使用 Cygwin shell 执行?

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

4

9 回答 9

79

./a.exe 在提示符下

于 2008-08-30T14:50:46.420 回答
10

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

于 2008-08-30T14:51:14.860 回答
6

只需在 shell 中输入 ./a

于 2008-08-30T14:51:52.957 回答
2

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

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

注意:您可能希望使用该-o参数cc来指定您自己的输出文件名。这方面的一个例子是:cc helloworld.c -o helloworld.exe.

于 2008-08-30T14:58:19.430 回答
2

托马斯写道:

显然,gcc 的行为不像 The C Programming language 中描述的那样

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

于 2008-08-30T15:02:42.133 回答
2

cygwin下的gcc不会生成类型为“ELF 32-bit LSB executable”的Linux可执行输出文件,而是生成类型为“PE32 executable for MS Windows”的windows可执行文件,它依赖于cygwin1.dll,所以需要在 cygwin shell 下运行。如果你需要在 dos 提示下独立运行它,它们 cygwin1.dll 需要在你的 Windows PATH 中。

-广告。

于 2010-11-10T11:16:32.163 回答
1

显然,gcc 的行为不像 C 编程语言中描述的那样,它说命令 cc helloworld.c 会生成一个名为 a.out 的文件,可以通过在提示符下键入 a.out 来运行该文件。

很长一段时间以来,Unix 在默认情况下都没有以这种方式运行(因此您可以只在前面不带 ./ 的情况下编写可执行文件名称)。它被称为 a.exe,因为否则 Windows 不会执行它,因为它会从扩展名中获取文件类型。

于 2008-08-30T15:08:31.073 回答
-2

就叫吧

> a

确保它会被找到(路径)。

于 2008-08-30T14:51:59.350 回答
-5

当您在 Cygwin 中启动时,您位于“/home/Administrator”区域,因此请将您的 a.exe 文件放在那里。

然后在提示符下运行:

cd a.exe

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

于 2015-02-11T11:26:04.710 回答