随笔分类 -  Code Tips

摘要:1. 发现问题 最近在编写代码过程中发现,对一个结构体进行 sizeof 操作时,有时候大小是填充过的,有时候又没有填充。 那么,如果在代码中没有显示的指定要求编译器进行对齐时,gcc的默认处理是怎样的呢? 2. 先说结论 代码中如果没有显示指定字节对齐时,gcc默认并没有进行cpu宽度字节对齐; 阅读全文
posted @ 2020-12-17 14:40 TpCode 阅读(1572) 评论(0) 推荐(0)
摘要:基本功能 1. 实现一个线程的队列,队列中的线程启动后不再释放; 2. 没有任务执行时,线程处于pending状态,等待唤醒,不占cpu; 3. 当有任务需要执行时,从线程队列中取出一个线程执行任务; 4. 任务执行完成后线程再次进入pending状态,等待唤醒; 扩展功能 1. 线程的队列大小可设 阅读全文
posted @ 2020-11-17 23:04 TpCode 阅读(1752) 评论(1) 推荐(1)
摘要:发现问题 项目测试的时候,发现运行一段时间后会出现cpu百分之百的情况。 想着可能是哪里出现了死循环,于是打算用gdb跟一下,结果gdb居然无法attach到进程。 定位问题 查了查去,原来有一个优先级为RT的实时线程出现了死循环,并且由于配置了CPU的亲和属性,使得进程只运行在第一个核上,此时gd 阅读全文
posted @ 2020-11-03 23:44 TpCode 阅读(613) 评论(0) 推荐(0)