文章目录

  • 一.assert(断言)
  • 二.树莓派执行.c文件
  • 三.用scp 命令,练习在Ubuntu系统与树莓派系统间进行文件复制传输。
  • 四.参考链接

一.assert(断言)

C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。
已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下:

#define assert(ignore) ((void)0)

二.树莓派执行.c文件

使用putty远程连接树莓派,使用命令nano helloworld.c命令创建文件

为该文件添加一下代码:

#include <assert.h>
#include <stdio.h>int main()
{int a;char str[50];printf("请输入一个整数值: ");scanf("%d", &a);assert(a >= 10);printf("输入的整数是: %d\n", a);printf("请输入字符串: ");scanf("%s", str);assert(str != NULL);printf("输入的字符串是: %s\n", str);return(0);
}

使用gcc工具编译,运行
命令1:gcc helloworld.c
命令2:./a.out
输入值为1,断言处条件不满足,程序停止并显示相关信息。

由上述例子可以有以下总结:

断言是程序调试很重要的手段,ASSERT( f )在Debug模式下,每次运行到这里后会计算括号中的表达式,如果表达式为0,则中断执行,弹出一个警告框,用户可选择“继续”,“重试”,“忽略”在Release模式下,这句语句不会被编译进代码。ASSERT一般用于程序内部确认参数的正确性,即调用内部函数的时候,要由调用者保证参数的正确,而被调用函数内部,就可以通过ASSERT来检查参数是否满足要求。

三.用scp 命令,练习在Ubuntu系统与树莓派系统间进行文件复制传输。

在Ubuntu下的home路径下创建一个example.txt文件。

在树莓派,输入命令 “sudo nano /etc/ssh/sshd_config”,然后去掉 "PermitRootLogin prohibit-password "之前的注释,保存并退出。


重启后输入命令 “systemctl restart sshd”,如果会报(Failed to start sshd.service: Unit sshd.service not found.)错误,先添加输入命令 “systemctl enable ssh.service”,然后在重启。
使用命令scp /home/example.txt JingL@192.168.43.143:/home/JingL将 Ubuntu 中的文件拷贝到树莓派中。
注:

用户名@ 后跟的 ip地址为自己树莓派的 ip
在putty下使用ls命令看到目录下多了一个exqmple.txt文件:

使用nano example.txt命令打开查看:

四.参考链接

https://blog.csdn.net/qq_41854911/article/details/119453790
https://blog.csdn.net/xwmrqqq/article/details/109562880

嵌入式Linux系统相关练习相关推荐

  1. 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

  2. 嵌入式linux结构框图,嵌入式linux系统的结构

    原标题:嵌入式linux系统的结构 1.嵌入式系统的硬件架构 嵌入式系统硬件模型结构,此系统主要由微处理器MPU.外围电路,以及外设组成,微处理器为ARM嵌入式处理芯片,如ARM7TMDI系列及ARM ...

  3. 详解基于busybox、dropbear、ngnix制作完整的嵌入式Linux系统

    说明:         <一>:查看此博文,建议查看笔者上一篇博文(Linux启动过程),因为只有在完全了解Linux系统启动流程及一些配置文件的相关性,在阅读此博文才能有思路,理解起来更 ...

  4. 嵌入式系统实验 构建嵌入式Linux系统,《嵌入式系统与开发》构建嵌入式Linux系统-实验报告.doc...

    <嵌入式系统与开发>构建嵌入式Linux系统-实验报告 <嵌入式数据库sqlite移植及使用> 实验报告 学生姓名: 陈 彤 学 号: 1座机电话号码 专业班级: 130044 ...

  5. 嵌入式Linux系统BSP的设计与实现

    1. 引言     嵌入式系统由硬件环境.嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随应用的不同而有不同的要求.硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式操 ...

  6. 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt

    [9构建嵌入式linux系统项目-启动脚本的编写 启动脚本 教学回顾 shell语法 管道.重定向 变量 结构性语句 教学内容 启动脚本的写法 教学要求 熟悉掌握启动脚本的写法 shell 函数 在s ...

  7. 嵌入式linux+io+优化,嵌入式Linux系统内存优化使用方法研究

    [摘要] 嵌入式系统功能的提高,占用了较大内存空间,继而时常出现运行无响应.基于用户方面看,由于系统内存问题影响运行,针对系统内存与进程应用状态研究,可以调整系统数值与执行文件elf分析,进行系统优化 ...

  8. YAFFS2文件系统在嵌入式LINUX系统中的应用

    YAFFS2文件系统在嵌入式LINUX系统中的应用 2011-03-31 19:59 181人阅读 评论(0) 收藏 举报 1.文件系统简述 随着32位CPU价格不断下跌,片上存储设备的容量相比越来越 ...

  9. 嵌入式Linux系统基础知识

    一.嵌入式Linux系统的构成 1.硬件 2.内核 3.应用程序(形成根文件系统) 二.构建嵌入式Linux系统的主要任务 1.内核部分 2.应用程序部分 嵌入式Linux的开发大致可分为三个层次:引 ...

最新文章

  1. 如何制定恰当的信息安全策略
  2. favicon.png vs favicon.ico - 我为什么要使用PNG而不是ICO?
  3. 使用vm server 虚拟机上安装oracle-rac 共享磁盘错误解决
  4. Python 模块 timedatetime
  5. JS:ES6-1 let 关键字
  6. 深度比较Java循环的性能
  7. java新职篇:面向对象之抽象
  8. 使用EasyUI加载树形菜单
  9. cookie和session机制之间的区别与联系
  10. Leetcode995 Minimum Number of K Consecutive Bit Flips解决方案
  11. 九月亲测可运营【付费视频奖励计划赞助视频付费计划】最新版本的视频奖励源代码带有订阅可扣除金额带有代理新UI ...
  12. 创业半年回顾(没饭吃了,我再也不想创业了)
  13. 你所不知道的VoIP通信技术?
  14. 创业日志(三十)华东华南之10天7市行
  15. 如何删除2345SafeCenterSvc
  16. 网页弹窗插件layer.js的使用
  17. 什么样的企业/单位需要圣天诺LDK?
  18. SpringCloud微服务-----skywalking链路追踪
  19. 计算机接口中的shl,西门子200的PLC中SHL和ROL的区别,还...-卓优商学问答
  20. linux单机游戏软件下载,帝国时代单机手机版

热门文章

  1. 戴尔外星人m15r2 m15r3 m15r4 m15r5 m15r6 m15r7原厂出厂恢复系统带F12 Support Assist OS Recovery恢复功能
  2. Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)
  3. 白话设计模式-装饰器模式的使用和意义
  4. springboot实现转发和重定向
  5. mysql web工具下载_Webcat
  6. WebDriver 原理
  7. 关于印发《全国测绘地理信息行政执法依据》和《全国测绘地理信息行政执法职权分解》的通知
  8. 【pom报错】parent.relativePath‘ of POM xxx points at yyy instead of zzz please verify your project
  9. 半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - part 1 旋转矩阵
  10. 在Windows下使用 binwalk