
C语言
Tim-Cheng
这个作者很懒,什么都没留下…
展开
-
关于SLIST,STAILQ,LIST,TAILQ,CIRCLEQ图示详解
一,前述由于接触蓝牙协议栈相关工作,涉及很多mbuf,mqueue的操作,其中不乏Berkeley queue的身影,故因此,深入了解一下链表以及队列相关操作,九几年的代码放在现在依旧经典,需要深入琢磨多次!该部分包含5个部分,单向链表,双向链表,队列,尾队列,环形队列。(注:在此之后,将依赖此深入了解mbuf与mqueue)文件索引地址:https://github.com/torvalds/linux/blob/master/drivers/scsi/aic7xxx/queue.h二,Sing原创 2022-03-23 14:42:23 · 2178 阅读 · 1 评论 -
【Linux】【蓝牙】如何基于Linux实现Beacon与Beacon Scan
一、背景最近在思考如何用最精简的方式实现beacon与beacon scan二、实现方式1,mgmt实现逻辑a: 扫描命令:{ "find", "[-l|-b] [-L]", cmd_find, "Discover nearby devices" },{ "find-service", "[-u UUID] [-r RSSI_Threshold] [-l|-b]", cmd_find_service, "Discover nearby service" },{ "stop-find",原创 2021-03-27 15:58:32 · 1764 阅读 · 0 评论 -
【ELL】ell学习之__builtin_expect(likely-unlikely)
一、前述在很多源码如Linux内核、Glib等,我们都能看到likely()和unlikely()这两个宏,通常这两个宏定义是下面这样的形式。// __builtin_expect()函数是GCC的一个内建函数(build-in function).// found in include/linux/compiler.h#define likely(x) __builtin_expect(!!(x), 1) // 表示 x 的值为真的可能性更大;#define unlikely(x) __原创 2021-03-08 11:06:14 · 454 阅读 · 0 评论