以前学习C语言或者嵌入式编程,都有IDE,在Windows环境下几乎不用考虑编译链接的事,但是在Linux环境下,就需要明白编译连接的过程了。
在文件夹新建一个“hello_world.c”文件,直接用记事本打开就行,然后编写如下简单的代码,保存。
#include <stdio.h>
int main(void)
{
printf("Hello world\n");
return 0;
}
树莓派系统在文件夹下按“F4”就会调出终端,并且路径就是当前文件夹,输入:
gcc hello_word.c
会在当前目录下生成a.out的可执行文件,然后输入:
./a.out
运行该文件,就会在终端中显示“Hello world”
上面的整个过程就是C代码的编译运行过程,使用命令确实也是不太习惯。
可以使用树莓派中的Geany软件进行C语言的编译和运行。
右键“hello_world.c”文件,选择使用Geany打开,然后依次点击“编译”,“生成”,“运行”,如下图123标示处,同样能在打开的终端中显示“hello world”。
使用Geany写C代码有关键词颜色提醒,也非常方便编译与运行。
在“树莓派4引脚功能以及操作方法”中有使用到wiringPi库,而且在编译的时候是使用的如下指令。
gcc -Wall -o blink blink.c -l wiringPi
该指令是指使用gcc进行编译,gcc最基本的用法是:gcc [options] [filenames]
-Wall表示产生尽可能多的警告信息。
-o表示输出可执行文件,默认输出a.out
-I表示向gcc头文件搜索路径中添加的目录
在Geany中同样需要将wiringPi添加进搜索目录,在设置生成命令中进行如下设置。
问题
C语言的实时特性会不会比python好呢?
"万里"树莓派小车汇总贴:
lb8820265的“万里”树莓派小车开源分享 - DIY/开源硬件专区 - 电子工程世界-论坛 (eeworld.com.cn)
目录:
2“万里”树莓派小车——python学习(Thonny的使用)
4“万里”树莓派小车——C++学习(编译与运行,geany使用)
5“万里”树莓派小车——wiringPi学习(延时与线程模拟定时器)
6“万里”树莓派小车——wiringPi学习(PWM与外部中断模拟定时器)
7“万里”树莓派小车——RPi.GPIO学习(PWM与外部中断模拟定时器)
10“万里”树莓派小车——socket学习(UDP两机通讯)
11“万里”树莓派小车——socket学习(Android发送)
12“万里”树莓派小车——socket学习(Android收发)
19“万里”树莓派小车——VSCode学习(多C文件链接调试)
21“万里”树莓派小车——电机控制学习(4轮速度控制)
22“万里”树莓派小车——手机遥控电机转动