不明白gcc,但我找不到为什么它不起作用

时间:2012-06-07 16:37:23

标签: gcc

我正在尝试编译一个简单的“hello world”

file_name中

#include <stdio.h>
void main () {
    printf ("Hello World\n");
}

然后我尝试:gcc file_name,我得到“文件无法识别。文件格式无法识别”

但我百分之百确定几周后我做了完全相同的事情(只是为了看它是否有效,就像现在一样)并且它有效,所以我只是不明白。

gcc -ver // returns 4.6.1 if this helpes

gcc -o应该如何运作?手册(man gcc)有时只是胡言乱语(对我而言)

2 个答案:

答案 0 :(得分:2)

假设您的程序保存为helloworld.c。键入gcc -o myprog helloworld.c会将helloworld.c编译成myprog。这样,当您想要运行程序时,您在命令行中输入的所有内容都是./myprog

答案 1 :(得分:1)

gcc尝试根据文件的扩展名来猜测所使用的语言(例如C或C ++),因此您需要确保拥有正确的文件扩展名(通常是C ++的.cpp和C dource文件的.c)。或者,如果有命令行选项明确说明格式(无论扩展名如何),请阅读手册。

对于“-o”命令行参数:在该选项之后指定的名称是从已编译的源文件创建的目标文件的名称。然后将目标文件链接在一起以形成可执行文件