0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在 树莓派 上编写和运行 C 语言程序?

上海晶珩电子科技有限公司 ? 2025-03-25 09:28 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在本教程中,我将讨论C编程语言是什么,C编程的用途,以及如何在Raspberry Pi上编写和运行C程序。

本文的目的是为您介绍在Raspberry Pi上进行C编程的基础知识。如果您想深入了解C编程,一本很好的书是 Brian Kernighan 和 Dennis Ritchie 所著的《The C Programming Language》。这本书对经验丰富的程序员和想学习C语言的人来说都是很有用的参考资料。

什么是C程序?

C编程语言是有史以来使用最广泛的编程语言之一。用C编写的程序可以在包括个人电脑嵌入式微控制器和超级计算机在内的广泛平台上运行。

C的一个优点是代码运行速度几乎和汇编代码一样快。和汇编代码一样,C允许您访问强大的低级机器功能,并且它的语法比汇编代码更容易阅读。例如,比较下面的“hello world”程序的汇编代码和C代码:

.arch armv6 .eabi_attribute 27, 3 .eabi_attribute 28, 1 .fpu vfp .eabi_attribute 20, 1 .eabi_attribute 21, 1 .eabi_attribute 23, 3 .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 2 .eabi_attribute 30, 6 .eabi_attribute 18, 4 .file "hello-world-assembly.c" .section .rodata .align 2.LC0: .ascii "Hello, World! \000" .text .align 2 .global main .type main, %functionmain: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 stmfd sp!, {fp, lr} add fp, sp, #4 ldr r0, .L2 bl puts mov r3, #0 mov r0, r3 ldmfd sp!, {fp, pc}.L3: .align 2.L2: .word .LC0 .size main, .-main .ident "GCC: (Debian 4.6.3-14+rpi1) 4.6.3" .section .note.GNU-stack,"",%progbits

高级编程语言(如Python)为程序员提供命令,使其能够轻松执行诸如在计算机显示器上打印文本和逻辑功能(如与、或、非)等任务。而像汇编这样的低级编程语言只让您访问机器的基本指令集。C语言是一种中级编程语言,其好处是提供了有用且易于使用的函数,同时足够强大,可以让您控制计算机的基本操作。

C程序可以做什么?

C最初用于开发操作系统,因此Linux内核是用C编写的这一点也就不足为奇了。C几乎可以做计算机编程中您想做的任何事情。一些示例应用包括:

操作系统

大型程序

数据库

桌面实用程序

语言编译器

文本/照片编辑器

网络驱动程序

如何在C中编写和运行程序

为了演示如何在Raspberry Pi上创建C程序、编译它并运行它,我们将制作一个简单的程序,该程序将在终端中打印“hello world”。

C中的编码过程包括四个步骤:

1.创建源文件

2.编译程序

3.使程序可执行

4.执行程序

创建源文件

首先,打开Nano文本编辑器,通过在命令提示符下输入以下内容创建一个具有“.c”扩展名的新文件:

sudo nano hello-world.c

您将在该文件中编写C代码。您可以在任何文本编辑器中编写代码,只需确保给文件一个“.c”扩展名。

现在,在Nano中输入以下代码:

#include
int main(){ printf("Hello, World! \n"); return 0;}

输入代码后,按Ctrl-X和Y保存并退出Nano。

编译程序

用C编写的代码需要在计算机上运行之前进行编译。编译是将您编写的代码转换为计算机处理器可以理解的机器可读指令的过程。

当您编译源文件时,会创建一个新的编译文件。例如,输入以下命令会将hello-world.c编译成一个名为myfirstcprogram的新文件:

gcc hello-world.c -omyfirstcprogram

使程序可执行

现在我们需要使编译后的文件可执行。为此,我们只需要更改文件权限。在命令提示符下输入以下内容:

chmod +x myfirstcprogram

执行程序

现在,要运行编译后的可执行C程序,只需在命令提示符下输入以下内容:

./myfirstcprogram

希望这能帮助你了解如何在 Raspberry Pi 上开始使用 C 语言编程。如果这篇文章对你有帮助,记得关注点赞喔。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言程序
    +关注

    关注

    1

    文章

    20

    浏览量

    10485
  • 树莓派
    +关注

    关注

    122

    文章

    2031

    浏览量

    107670
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    「EDATEC」如何在树莓4安装64位操作系统

    本文将帮助您在树莓 4 安装树莓 64 位操作系统。虽然该指南是为树莓
    的头像 发表于 03-31 17:11 ?3375次阅读
    「EDATEC」如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>4<b class='flag-5'>上</b>安装64位操作系统

    何在树莓派上安装并运行 Arduino 集成开发环境!

    使用树莓单板计算机,你可以运行各种应用程序,包括广受欢迎的Arduino集成开发环境(IDE)。这意味着你可以用它轻松地为通过USB连接到树莓
    的头像 发表于 07-01 17:41 ?1291次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b>派上安装并<b class='flag-5'>运行</b> Arduino 集成开发环境!

    关于c语言编写的算法程序

    关于c语言编写的算法程序
    发表于 04-09 17:47 ?13次下载

    如何利用C/C++编写应用程序加速内核运行

    SDAccel编译器支持OpenCL CCC ++,用于定义FPGA执行的内核功能。 了解如何利用用C / C ++
    的头像 发表于 11-20 06:40 ?3173次阅读

    树莓4B如何自动运行Python程序

    到目前为止,我们所有的树莓4BPython程序都是通过使用IDLE或通过控制台窗口执行的。但是,我们可能希望我们的程序在启动时自动运行,在
    的头像 发表于 09-29 11:13 ?2.1w次阅读

    关于C程序源代码是如何在硬件运行的?

    C程序源代码是如何在硬件运行的?
    的头像 发表于 02-05 12:37 ?3261次阅读

    为什么说C语言程序运行时要比其他语言编写程序快得多

    C语言程序运行时要比其他语言编写程序快得多,因为它
    的头像 发表于 03-16 08:45 ?2557次阅读

    超实用!玩转树莓攻略!

    如果你使用树莓派来开发的话,C语言或者Python语言都是一个比较不错的选择。在开始玩转你的树莓
    的头像 发表于 11-01 20:30 ?3053次阅读
    超实用!玩转<b class='flag-5'>树莓</b><b class='flag-5'>派</b>攻略!

    c语言编写的源程序可以直接运行

    C语言编写的源程序不能直接运行,必须经过一系列的编译链接过程才能生成可执行文件,然后才能运行
    的头像 发表于 11-26 09:03 ?8942次阅读

    运行c程序的基本步骤

    运行C程序的基本步骤可以分为以下四个主要步骤:编写程序、编译程序、链接程序
    的头像 发表于 11-27 16:21 ?7584次阅读

    零基础入门:如何在树莓派上编写运行Python程序

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi编写
    的头像 发表于 03-25 09:27 ?882次阅读
    零基础入门:如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b>派上<b class='flag-5'>编写</b>和<b class='flag-5'>运行</b>Python<b class='flag-5'>程序</b>?

    树莓5使用YOLO进行物体和动物识别-入门指南

    AIHat+|如何编写自定义Python代码YOLO姿态估计在树莓AIHat+|编写自定义
    的头像 发表于 07-17 17:16 ?282次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5<b class='flag-5'>上</b>使用YOLO进行物体和动物识别-入门指南

    树莓5开启YOLO姿态估计识别之旅!

    AIHat+|如何编写自定义Python代码YOLO姿态估计在树莓AIHat+|编写自定义
    的头像 发表于 07-18 15:31 ?282次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5<b class='flag-5'>上</b>开启YOLO姿态估计识别之旅!

    何在树莓 AI HAT+上进行YOLO目标检测?

    大家好,接下来会为大家开一个树莓5和YOLO的连载专题。内容包括四个部分:在树莓5使用YOLO进行物体和动物识别-入门指南在
    的头像 发表于 07-19 08:34 ?263次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b> AI HAT+上进行YOLO目标检测?

    何在树莓 AI HAT+上进行YOLO姿态估计?

    大家好,接下来会为大家开一个树莓5和YOLO的连载专题。内容包括四个部分:在树莓5使用YOLO进行物体和动物识别-入门指南在
    的头像 发表于 07-20 20:34 ?126次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b> AI HAT+上进行YOLO姿态估计?