• Linux和树莓派基础交互


    一.assert

    C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。

    已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下:

    #define assert(ignore) ((void)0)
    
    
    • 1
    • 2

    C 库宏 void assert(int expression) 允许诊断信息被写入到标准错误文件中。换句话说,它可用于在 C 程序中添加诊断。下面是 assert() 宏的声明。

    void assert(int expression);
    
    
    • 1
    • 2

    二.树莓派执行.c文件

    使用命令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);
    }
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

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

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

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

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

    一、使用scp指令,失败
    二、ps -e | grep ssh, 发现只有客户端的ssh,没有服务端的ssh
    在这里插入图片描述
    三、安装ssh服务端,sudo apt-get install openssh-server
    四、安装失败,无法在aliyu的源下载到,于是把源改成华为的。
    在这里插入图片描述
    五、再次执行sudo apt-get install openssh-server
    六、开启ssh服务端 sudo service ssh start
    七、ps -e | grep ssh 查看是否开启
    在这里插入图片描述
    有sshd表示开启了
    八、ifconfig查看Ip
    在这里插入图片描述
    九、scp指令,拷贝文件。 scp test pi@192.168.10.11:/home/pi
    在这里插入图片描述

  • 相关阅读:
    C语言入门(五)分支结构
    最高月薪17K,只要心中有一片希望的田野,勤奋耕耘将迎来一片翠绿~
    苹果智能戒指再曝光,或将配合头显来应用,支持无线充电
    测试 chatgpt 图片功能
    植物根系基因组与数据分析
    测试用例需要哪些人来评审?如何高效评审?
    linux命令
    SpringCloudAlibaba实战-快速上手
    ChineseChess4 2023.10.27
    第 K 大的数
  • 原文地址:https://blog.csdn.net/weixin_50909683/article/details/125406603