- 博客(17)
- 收藏
- 关注
原创 基于树莓派/香橙派的智能家居项目(2、3 补充部分)
对于输入设备的管理采用链表的形式,链表的操作无非就是增删改查,上述代码是对于链表的创建,若链表是空的,现需要加入的结构体作为链表头;否则,插入至链表头前,作为新的链表头返回。其中相似的代码主要是灯光控制函数、添加设备节点函数、设备节点的查找函数。对于参数传入需要传入需要查找的设备节点名:例如语音模块的.comName = "voice",我需要传入voice,以及遍历所在链表来找到它。在语音模块处,我设置识别成功返回的字符串是:KYSD\n,识别成功后,找到相应的控制设备节点进行控制即可。
2023-03-30 22:12:48
406
转载 UTF-8编码命名形式
由于 UTF-8 的处理单元为一个字节(也就是一次处理一个字节),所以处理器在处理的时候就不需要考虑这一个字节的存储是在高位还是在低位,直接拿到这个字节进行处理就行了,因为大小端是针对大于一个字节的数的存储问题而言的。对于n字节的符号(n>1),第一个字节的前 n 位都设为 1,第 n+1 位设为 0,后面字节的前两位一律设为 10,剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。那么对于一个具体的 Unicode 编号,具体怎么进行 UTF-8 的编码呢?
2022-12-31 15:52:07
491
原创 Linux下多线程编程--- 03 线程同步
比如,一个线程希望对变量自减,然而另一个线程希望对变量自加,两者是互斥的关系,让该变量一直处于一个数字或者是一个范围之内,那么这样将永远也无法到达一个期望的数值。但此方法在实际项目情况往往是不可取的,其仅仅可解决线程创建的顺序,当创建之后的执行顺序将不会受到控制,于是便引入信号量的概念,解决线程执行的顺序。当某一个线程获得了执行权后,执行 lock 函数,一旦加锁成功后,其余线程遇到 lock 函数时候会发生阻塞,直至获取资源的线程执行 unlock 函数后。当函数成功后会返回 0,代表初始化互斥量成功。
2022-10-23 19:37:57
189
原创 Linux下多线程编程---02(线程退出与线程资源的回收)
线程分为可结合的(joinable)和 分离的(detached)两种,如果没有在创建线程时设置线程的属性为PTHREAD_CREATE_DETACHED,则线程默认是可结合的,以上方式使用的均为可结合线程。而默认的条件下,一个线程结束后,其对应的资源不会被释放,于是,如果在一个程序中,反复建立线程,而线程又默认的退出,则最终线程资源耗尽,进程将不再能建立新的线程。)并不会被回收,为了防止资源的过度占用造成内存泄漏,在线程回收的时候,或者当线程处于加锁后解锁前的状态时,应当采取相应的措施来回收该线程资源。
2022-10-23 15:15:18
3428
原创 Linux下多线程编程思考与学习----01(线程创建pthread_create函数详解)
pthread_create ()线程创建的使用与总结
2022-10-19 18:09:46
2838
原创 文件操作实现Linux cp命令操作
在使用Linux vi工具编程时,时常需要用到cp命令,将两个文件(源文件、目标文件)进行创建并复制内容。那么如何使用Linux编程实现该命令?
2022-01-10 10:32:02
1763
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人