有人可以向我解释一下a.out
是什么以及它是如何运作的?
这是我第一次使用Unix(minix)。
我有一个包含两个文件filename.c
和test.sh
的文件夹(包含三行以./a.out开头,一些f =值)。
我只想编译并执行filename.c
,如果不是?
答案 0 :(得分:1)
我不使用minux,所以请一定要使用它,但似乎你应该使用mcc
进行编译*:
mcc filename.c -o myprogram
chmod +x myprogram
./myprogram
-o
选项允许您选择可检索的名称,因此它不会默认为a.out
,chmod +x
是为了确保您拥有有效的exectuable(可能不需要) ,但它不会伤害)
答案 1 :(得分:1)
我使用ubuntu并使用gcc编译。首先我编写代码并说我将其命名为testing.c。然后我将其保存在一个文件夹中说c。 然后我去命令行,如果目前我不在文件夹c中我通过编写
将其更改为文件夹ccd /c
然后我用gcc编译它
gcc testing.c -o testing
然后接下来我打字
./testing
注意: - 这是我在使用gcc编译时在ubuntu上所做的。
答案 2 :(得分:0)
- >保存并退出程序后编译(ESC:wq) 在命令提示符下,命令是CC (您的文件名需要扩展名.C)
- >要在命令提示符下运行程序,您需要输入 ./a.out。
- >编译并运行而不关闭程序 它是(ESC):!CC%和(ESC):!。/ a.out
你可以查看here
答案 3 :(得分:0)
Unix自定义是,如果您调用编译器生成可执行文件,并且未明确提供可执行文件的名称,则可执行文件称为a.out
(可能用于汇编程序输出)。所以:
cc -c program.c
:只需编译,即可获得program.o
cc program.c
:编译并链接,未给出可执行文件名,可执行文件为a.out
cc -o name program.c
:编译并链接,明确要求提供可执行文件name
编译器通常足够聪明,可以从扩展中分析内容(以及如何处理文件)。