我如何运行我的C程序?

我是C编程语言的新手。 我现在正在学习一门课程,但是我遇到了一个小问题,即运行该文件进行测试。

我打开了gedit并编写了这些代码行:

int main(int argc, char *argv[]) { puts("Hello world."); return 0; } 

当我尝试使用此命令提供正确的权限后运行它

 chmod +x file.c 

并由此命令运行

 ./file.c 

这些线路出现在终端

 ./file.c: line 1: syntax error near unexpected token `(' ./file.c: line 1: `int main (int argc, char *argv[])' 

问题出在哪儿 ??

您需要先编译程序,然后才能运行它。 要做到这一点,你需要一个C编译器,比如gcc 。 您可以使用以下命令安装:

 sudo apt-get install gcc 

然后,要编译您的程序,创建一个名为file的可执行file

 gcc -Wall -o file file.c 

那么你应该能够运行:

 ./file 

Fabrice Bellard的TCC似乎仍在存储库中。 它可以在一种解释器模式下运行,这使得以下可能:

您可以通过添加行来创建一个像OP一样的简单C文件可执行文件

#!/usr/bin/tcc -run

到文件的最顶层。

它还通过在末尾添加一个空选项(只是减号- )来接受来自STDIN的输入。

 $ /usr/bin/tcc -run - < #include  > int main() > { > printf("Hello World\n"); > return 0; > } > EOF Hello World 

或者用echo

echo '#include int main(){printf("Hello World\n");return 0;}' | /usr/bin/tcc -run -

或者只需运行/usr/bin/tcc -run -键入代码并使用CTRL + D开始运行

似乎无用而愚蠢,但最后一种方法是最快的(对我来说,YMMV等)来检查大型库中的函数,查找常量的确切值等等。它很小(180k)使它成为一个非常适合例如Raspberry-Pi。

主要缺点:开发停止(最新版本是从2013年开始)。

AFAIK,你必须在执行之前编译C代码,如下所示:

 gcc file.c 

与python不同的C语言不是一种解释语言。 需要首先编译C源代码或简单地编写代码以使其可执行,即机器可读forms。 您必须首先使用命令编译它

cc -Wall filename.c

cc – GCC编译器

-Wall – 检查错误

filename.c – 使用.C扩展名保存C代码的文件。

您将在源代码的工作目录中获得名为“a.out”的可执行文件。

我有一个小问题,运行该文件

回答你的问题:

问题出在哪儿 ??

可以说你还没有运行可执行文件,因为你还没有生成它。 您的文件file.c是用“C”语言编写的“源代码”。 这个源代码不是可执行的东西,因为C语言被设计成易于理解的方式可写(至少是人类标准的“简单”……即使这样,起初也不容易 – 但它变得更容易) 。 然后,您编写的(源)代码将转换为计算机可以轻松读取的表单。 此过程称为“编译”。 编译创建一个可由计算机执行的文件。 这是你尚未完成的步骤。 如果你输入

 which gcc 

你得到像/usr/bin/gcc这样的东西,然后你的系统上已经安装了gcc。 如果你什么都没回来 – 那么你不要。 如果你没有gcc那么你可以通过以下方式获得gcc(假设你拥有正确的权限):

 sudo apt install gcc 

(注意:如果您使用的是Linux发行版的一些旧版本,apt可能无法正常工作 – 您可以使用apt-get替换它)

如果你有gcc那么请直接输入:

 gcc file.c 

你会发现一个名为a.out可执行文件已经神奇地出现在你的目录中。 这是您一直在寻找的文件。 运行它

 ./a.out 

其他答案还有-o-Wall等其他内容,您可以通过gcc手册了解这些内容,您可以通过键入来访问:

 man gcc 

这应该让你坚持几年…欢迎编码 – 享受!