一.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
|