有人可以向我解释什么是 a.out
它以及它是如何工作的吗?这是我第一次使用 Unix (minix)。我有一个文件夹,其中包含两个文件filename.c
和test.sh
(包含以 ./a.out 和一些 f=values 开头的三行)。filename.c
如果不是,我只想编译和执行?
问问题
7304 次
4 回答
1
我使用 ubuntu 并使用 gcc 编译。首先我编写代码并说我将其命名为 testing.c。然后我将它保存在一个文件夹中,比如 c。然后我去命令行,如果目前我不在文件夹 c 中,我通过写入将其更改为文件夹 c
cd /c
然后我使用 gcc 编译它
gcc testing.c -o testing
然后接下来我通过键入来敲响它
./testing
注意:-这是我在使用 gcc 编译时在 ubuntu 上所做的。
于 2013-03-01T17:01:07.027 回答
1
我不使用 minux,所以用一粒盐,但似乎你应该使用mcc
编译*:
mcc filename.c -o myprogram
chmod +x myprogram
./myprogram
该-o
选项允许您选择可执行文件名称,因此它不默认为a.out
,这chmod +x
是为了确保您有一个有效的可执行文件(可能不需要它,但它不会受到伤害)
于 2013-03-01T16:52:21.937 回答
0
-> 在命令提示符下保存并退出程序(ESC :wq)后编译,命令为 CC(您的文件名需要有扩展名 .C)
-> 要在命令提示符下运行程序,您需要输入 ./a.out。
->要在不关闭程序的情况下编译和运行,它是 (ESC) :!CC % 和 (ESC) :!./a.out
你可以看看 这里
于 2013-03-01T16:31:47.687 回答
0
Unix 的习惯是,如果您调用编译器来生成可执行文件,并且没有明确给出可执行文件的名称,则会调用可执行文件a.out
(可能是为了汇编程序输出)。所以:
cc -c program.c
:只需编译,给出program.o
cc program.c
: 编译和链接,没有给出可执行文件名,可执行文件是a.out
cc -o name program.c
:编译和链接,明确要求提供可执行文件name
编译器通常足够聪明,可以从扩展中判断内容(以及如何处理文件)。
于 2013-03-01T17:04:03.520 回答