如何在不创建所述文件副本的情况下执行C程序?

时间:2016-11-06 15:46:56

标签: c linux gcc raspberry-pi

我希望你早上好。我在Raspberry Pi网站上,下载了一期MagPi,教你如何开始使用C语言,我已经退出了!说明告诉我创建一个文件,将其命名为hello.c,然后输入终端命令gcc -o myprog /home/pi/Desktop/C/hello.c以使程序可执行。一旦这个步骤结束,它告诉我要运行它,你写./myprog,然后执行。当我更改程序以便它执行其他操作时,我再次运行代码,它打印了我没有更改过的版本。当我运行gcc命令时,它确实发生了变化,但在桌面上为它创建了一个新项目。我不希望我的覆盆子充斥着你好的世界c程序,所以如果有办法不让它克隆自己,请告诉我。有点长啰嗦,但我希望它能解释我的情况。

2 个答案:

答案 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的文件是第一个编译的目标文件需要链接成为可执行文件。

enter image description here

不关心图片中的.h个文件只是头文件

  

主要答案:每次更改文件时都必须编译   它再次获得输出!意思是每次都使用gcc !!

注意: 你不必像你在问题中那样使用gcc,有几种方法可以使用它,最好的是:

$ gcc file.c -o file
and execute  with :
$ ./file

这种编译方式将帮助您缩短编写时间 它就像编译和运行一样。

这就是诀窍:

我们将创建一个bash脚本,它通过将c文件名作为参数同时执行这两个命令;

1-创建一个名为ccompilerc的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:您要执行和运行的文件的名称!!一定要写不带扩展名。