2013-10-19 225 views
2

我试图使用gcc来编译代码并运行可执行文件,但它抛出错误:语法错误:“(”意外

gcc somefile.c -o somefile 

编译经过成功但是,当我尝试执行它:

$sh somefile 

它导致:语法错误: “(” 意外在输出文件,我没有看到somefile.o,而是,我看到somefile.c〜

,犯人。帐户的文件:

#include <stdio.h> 
int main(int argc, char *argv[]) 
{ 
    printf("hi"); 
} 

背景:我是新来的编程在Linux中,并希望从简单的程序开始。我在虚拟机上运行ubuntu 64位,并安装了gcc,g ++等。之后,我创建了一个如上所述的示例文件(“somefile.c”),并尝试了上述步骤,但无法执行。我的目标是使用gcc或g ++在ubuntu上编译和执行示例C或Cpp代码。请帮忙。

+1

的'somefile.c〜'可能是你'somefile.c'的副本通过你的文字编辑器中进行,以保持你的文件“最新”,如果你忘了保存。我记得'gedit'就是这样做的。 – Rerito

+1

“sh somefile” - 这不是你如何执行C程序。 –

+0

@JimBalter:可以说,没有像“C程序”那样的东西。它是一个*可执行文件*,而不是“shell脚本”。 – usr2564301

回答

7

somefile是可执行的二进制,它不是shell脚本。你应该执行它:

$./somefile 
+0

请不要告诉U ** x'程序员'除shell脚本之外还有别的东西 - 要么他们不会相信你,要么他们的头会爆炸:) –

3

要执行的文件,你只需要做

$./somefile

sh是用来当你执行一个shell脚本