首页 > 系统相关 >【树莓派开发】使用树莓派在Linux环境下编写C语言代码

【树莓派开发】使用树莓派在Linux环境下编写C语言代码

时间:2024-09-02 16:27:03浏览次数:13  
标签:文件 树莓 int C语言 编译 Linux test



文章目录


  • 前言
  • 1.创建test.c文件
  • 2.编译运行该文件
  • 3.编译并链接两个源文件
  • 结语


前言

如何使用树莓派编译C语言代码呢?

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_c语言

21年暑假的时候,学习编程的劲头高涨,然后冲动消费买了个树莓派4B……结果压根不会用,吃灰了半年

不过现在已经学完了C语言,也接触了一丢丢Linux系统下的gcc指令,可以尝试用它来编写C语言代码了!


1.创建test.c文件

首先我们需要在一个文件夹里创建一个test.c文件

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_树莓派_02

点击test.c文件后,树莓派会用自带的Geany编辑器打开它

然后我们可以往里写入C语言最经典的helloword代码

#include <stdio.h>
int main(void)
{
	printf("hello wordl!\n");
 
	return 0;
}

2.编译运行该文件

保存文件后,打开顶部的命令行

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_c语言_03

输入以下代码

注意cd后需要空格,填写的是刚刚创建的test1.c文件的路径

cd /home/pi/code

填写完毕后,可以看到命令行前面多出了一个文件地址

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_linux_04

这代表目前我们操作的是code文件夹里面的内容

输入ls,可以看到当下文件夹里的文件

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_c语言_05

输入以下指令,可以生成一个可执行文件

gcc test1.c -o test1

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_树莓派_06

最后输入以下指令,可以运行该文件!

./test1

可以看到,程序已经成功运行了!

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_linux_07


3.编译并链接两个源文件

接下来我们再尝试一个相对来说更复杂的代码

分开两个源文件,一个是test.c,包含了main函数

另外一个是Add.c,包含了Add函数

因为是在不同的源文件里面,我们需要用extern来声明外部函数

#include <stdio.h>
 
extern int Add(int x,int y);
 
int main(void)
{
	int a=3;
	int b=5;
	printf("%d",Add(a,b);
 
	return 0;
}

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_linux_08

接下来我们使用-c指令来生成.o目标文件

在vs下,目标文件的后缀是.obj

.i文件为预编译文件

可以看到,我的代码里面extern写错了(很是尴尬),编译器报了警告

更改了以后就编译成功了

这一步是把C语言代码转换成机器认识的二进制指令

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_linux_09

然后输入以下指令,链接这两个文件,生成可执行文件test

gcc test1.c Add.c -o test

【树莓派开发】使用树莓派在Linux环境下编写C语言代码_可执行文件_10

最后还是使用./test指令来运行可执行文件

可以看到我们的结果已经输出了!


结语

第一次尝试用linux的gcc指令来编译C语言代码,还有点小激动

吃灰的树莓派终于有用了!

标签:文件,树莓,int,C语言,编译,Linux,test
From: https://blog.51cto.com/musnow/11898920

相关文章

  • 【C语言】文件操作(详解)
    文章目录1.为什么需要文件?2.什么是文件?2.1文件分类2.2文件名3.文件的使用3.1文件指针3.2打开和关闭文件3.2.1文件使用方式3.2.2标准输入输出流3.3文件输入输出函数3.3.1字符输入输出实现文件拷贝3.3.2文本行输入输出3.3.3格式化输入输出3.3.4二进制输入输出3.3.5sscanf/sprintf函......
  • 【树莓派开发】gcc编译器中出现warning: #pragma once in main file
    众所周知,#pragmaonce语句是防止头文件重复包含非常常用的一条语句VS编译器在创建.h文件的时候会自动帮你在开头添加这个语句但是在gcc编译器下,这个语句就可能会出现一些问题所使用编译器:VS2019(windows10)树莓派(linux-gcc)warning:#pragmaonceinmainfile在我尝试在linux环境......
  • 【C语言】顺序表详解,灵活运用所学知识
    文章目录前言1.什么是顺序表?1.1线性表2.编写你的顺序表!2.0赛前准备2.1初始化2.2容量检查2.3打印顺序表2.4尾插和尾删2.5头插和头删2.6插入和删除2.7查找和更改3.菜单一些err总结前言顺序表是我们学习数据结构第一阶段的必经之路什么是顺序表,且听我慢慢道来本篇博客用到的......
  • 【C语言】数据结构-栈(顺序表实现)
    文章目录前言1.什么是栈2.栈的实现3.敲代码!3.1头文件3.2函数实现4.知识巩固,来道OJ!结语前言在之前的数据结构学习中,我们学习了顺序表、链表这两种结构顺序表:博客链接1单链表:博客链接2链表OJ:博客链接3除了单链表以外,还有一个结构,是双向带头循环链表。这个链表的形式如下头节点的......
  • 【树莓派开发】树莓派安装vim编辑器(附带排错流程)
    文章目录前言1.用putty软件链接树莓派2.下载vim2.1错误:404无法下载2.2错误:下列软件包有未满足的依赖关系3.查看vim是否安装成功4.vim的基本操作5.用vim编写一个C语言代码结语前言Linux自带的编辑器有nano和vi,但vi编辑器使用起来很不方便。我们要先在树莓派上下载vim编辑器,它是vi......
  • linux PS1
    最近不小心动了环境变量的PS1老是感觉很奇怪然后研究了一下PS1可以支持以下这些选项:\d:显示曰期,格式为"星期月日"。\H:显示完整的主机名。如默认主机名"localhost.localdomain"。\h:显示简写的主机名。如默认主机名"localhost"。\t:显示24小时制时间,格式为"HH:MM:SS"。......
  • 【方法分享】准大学生如何自学C语言?
    准大学生如何自学C语言文章目录准大学生如何自学C语言一、找寻一个优质教学视频二、使用优质编译器三、安排一个电子笔记需不需要一个ipad来辅助学习?四、除工具以外的学习方法1.专心致志,不要让其他东西分心2.多练习,多练习,多练习3.复习!结语虽说现在已经接近我们最长的且无忧无虑的......
  • Archlinux的安装
    事先申明archlinux是一个自由度很高的系统,这篇文章仅是我个人习惯!!1.U盘的制作archlinux系统的下载直接上官网上找哈!ArchLinux-Downloads下载好了以后呢,我们还需要一个U盘,大小嘛16G以上吧(我个人认为哈)我们要创作启动盘哈在windows系统里我们要先下一个烧录软件Index......
  • 阿里云上,给Linux系统增加SSH密钥对认证
    背景:当前使用密码认证。准备:确保能够使用root进行SSH登录。绑定密钥对:在阿里云控制台,打开ecs实例详情,点击全部操作按钮,选择绑定密钥对,该密钥对的公钥会被自动上传到/.ssh/authorized_keys.在putty上配置私钥,并使用root远程登陆。将密钥对的公钥复制到普通用户user1的目录下,......
  • WEB渗透Linux提权篇-提权工具合集
     往期文章WEB渗透Linux提权篇-环境变量提权-CSDN博客工具合集工具名称下载地址工具描述BadPotatohttps://github.com/BeichenDream/BadPotatoWindows权限提升BadPotatoDatabasetoolshttps://github.com/Hel10-Web/Databasetools一款用Go语言编写的数据库自动化提权工具,......