在ubuntu上运行C程序
我是Ubuntu的新手。我想在Ubuntu上运行c程序。 我已经安装了build essential。 现在我试着按照下面的命令运行程序在ubuntu上运行C程序,c,ubuntu-11.04,C,Ubuntu 11.04,我是Ubuntu的新手。我想在Ubuntu上运行c程序。 我已经安装了build essential。 现在我试着按照下面的命令运行程序 sudo gedit first.c 然后输入基本的hello world程序。然后 cc -c first.c -o first.c 但在这个命令上,它显示错误为 没有输入文件 并告诉我如何运行此程序。首先,您不必以root用户身份编辑文件。那是个坏主意 行cc-c first.c-o first.c覆盖您不想要的c文件 cc first.c -o fi
sudo gedit first.c
然后输入基本的hello world程序。然后
cc -c first.c -o first.c
但在这个命令上,它显示错误为
没有输入文件
并告诉我如何运行此程序。首先,您不必以root用户身份编辑文件。那是个坏主意 行
cc-c first.c-o first.c
覆盖您不想要的c文件
cc first.c -o first
然后你想运行这个程序
你可以和我一起去
./first
您不希望在输出文件上显示
.c
。i、 e
cc -c first.c -o first
编辑:哎呀。您也不需要-c
cc -o first first.c
该编译命令行应该已经工作了。但是,它将覆盖源文件
-o
选项告诉编译器如何命名输出文件,如果您将其命名为与源文件相同的名称,它将被覆盖
传递给编译器的第一个标志是-c
,它告诉编译器生成一个对象文件。链接器稍后可以使用这些对象文件与其他对象文件链接,以创建最终的可执行程序。但是,它不会创建您可以运行的程序
要从单个源文件创建可执行程序,请执行以下操作:
$ cc first.c -o first
这将创建一个名为first
的可执行程序(当然,如果没有错误)
然后运行此程序:
$ ./first
最后一个命令告诉shell首先在当前目录(名为
)中查找,然后执行它。正确用法是:
cc -o outputfile myFile.c
然后可以运行可执行文件:
./outputfile
删除-c
并尝试:
cc first.c -o first
^^^^^^^ ^^^^^^^^
input output
要运行:
./first
默认情况下,Make配置为识别某些文件扩展名,因此您只需执行以下操作:
make first
Make随后将找到first.c
并生成first
二进制可执行文件,并向您展示它使用的编译命令。请注意,要使其以合理的方式工作,您应该只有一个first.XXX源文件。此外,一旦您有多个源文件,就需要编写一个Makefile
,但是只有一个源默认值就足够了
要运行生成的可执行文件,请执行以下操作
./first
需要/
,因为在unix环境中,正常工作目录不在(也不应该在)路径中
哦,是的,正如其他人提到的:不要用sudo
来处理这样的东西。如果您已经这样做了,您就不能像普通用户那样修改/删除这些文件,因为它们属于root用户。执行ls-l
,它将显示文件的所有者。然后您可以执行sudo chown yourusername.yoursername文件
将文件
的所有者更改为yourusername
(用户和文件组)。但编译效果良好,但运行时显示错误为>权限被拒绝然后修复权限,但是,除非你不介意因为犯了一个愚蠢的错误而丢失你的机器,否则不要以root用户身份编程。这不值得。尽可能少地使用root。如果编译器按照您的要求用目标代码重写源代码,您会感到不安。将最后一个.c
更改为.o
。同样,$gcc也是这样工作的。c-o首先按enter键,然后以$/的形式运行可执行程序,然后再次按enter键