我希望你早上好。我在Raspberry Pi网站上,下载了一期MagPi,教你如何开始使用C语言,我已经退出了!说明告诉我创建一个文件,将其命名为hello.c
,然后输入终端命令gcc -o myprog /home/pi/Desktop/C/hello.c
以使程序可执行。一旦这个步骤结束,它告诉我要运行它,你写./myprog
,然后执行。当我更改程序以便它执行其他操作时,我再次运行代码,它打印了我没有更改过的版本。当我运行gcc命令时,它确实发生了变化,但在桌面上为它创建了一个新项目。我不希望我的覆盆子充斥着你好的世界c程序,所以如果有办法不让它克隆自己,请告诉我。有点长啰嗦,但我希望它能解释我的情况。
答案 0 :(得分:0)
每次编译程序时,生成的可执行文件都会写入您所在的文件夹中。
E.g。如果你在 /家庭/ PI / 并且运行命令,您将在同一文件夹中获得一个hello可执行文件
使用-o参数来指示存储输出可执行文件的位置,但是您应该提供完整路径。
E.g。
mkdir -p / home / pi / Desktop / C / bin /
gcc -o / home / pi / Desktop / C / bin / myprog /home/pi/Desktop/C/hello.c
答案 1 :(得分:0)
执行c files
你必须通过转换为.o
文件让它可由机器执行,这是编译器的任务。然后.o
的文件是第一个编译的目标文件需要链接成为可执行文件。
不关心图片中的.h
个文件只是头文件
主要答案:每次更改文件时都必须编译 它再次获得输出!意思是每次都使用gcc !!
注意: 你不必像你在问题中那样使用gcc,有几种方法可以使用它,最好的是:
$ gcc file.c -o file
and execute with :
$ ./file
这种编译方式将帮助您缩短编写时间 它就像编译和运行一样。
这就是诀窍:
我们将创建一个bash脚本,它通过将c文件名作为参数同时执行这两个命令;
1-创建一个名为ccompiler
或c
的bash文件或任何你想要的,没有任何扩展名。
2-将此代码放到此文件中// bash中的$ 1表示脚本的第一个参数!
gcc $1.c -o $1
./$1
3-通过此命令授予此文件权限:
sudo chmod 755 ccompiler ;
#ccompiler或您选择的名称。
4-将文件放在/usr/local/bin
中以将其用作命令#this是linux中本地脚本的目录。
5-确保您在目录中是要执行和运行的c文件;在你的情况下,你必须在/home/pi/Desktop/C/
来执行我们编写的命令:
$ ccompiler cfile_name ;
ccompiler:是您选择的bash文件名
cfile_name:您要执行和运行的文件的名称!!一定要写不带扩展名。