上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 66 下一页

2022年7月10日

Binder学习笔记1—Service示例分析

摘要: 一、示例一:SystemSuspend对binder使用 1. 示例代码 //vnd/system/hardware/interfaces/suspend/1.0/default/main.cpp #include <binder/IPCThreadState.h> #include <binder 阅读全文

posted @ 2022-07-10 21:31 Hello-World3 阅读(1186) 评论(0) 推荐(0) 编辑

C++经典案例

摘要: 1. per-thread的单例模式 //单例子模式,per-thread的单例模式 IPCThreadState* IPCThreadState::self() //IPCThreadState.cpp { if (gHaveTLS.load(std::memory_order_acquire)) 阅读全文

posted @ 2022-07-10 16:08 Hello-World3 阅读(625) 评论(0) 推荐(0) 编辑

2022年7月9日

Linux内核中各种鉴权

摘要: 一、编译阶段 1. BUILD_BUG 系列 主要定义在 include/linux/build_bug.h 文件中,若编译期发现不合法就报错并中止编译。 (1) BUILD_BUG_ON(condition) #define BUILD_BUG_ON(condition) BUILD_BUG_ON 阅读全文

posted @ 2022-07-09 17:19 Hello-World3 阅读(917) 评论(0) 推荐(0) 编辑

2022年7月5日

C++ std::ofstream 和 std::ifstream 和 文件操作

摘要: 1. 简介 C++中对文件进行读写的。 2. 使用Demo #include <iostream> #include <fstream> #include <string> #include <string.h> using namespace std; static constexpr char 阅读全文

posted @ 2022-07-05 23:39 Hello-World3 阅读(2125) 评论(0) 推荐(0) 编辑

2022年7月4日

C++匿名函数-Lambda表达式

摘要: 一、匿名函数简介 1. 为什么存在匿名函数 使用 STL 时,往往会大量用到函数对象,为此要编写很多函数对象类。有的函数对象类只用来定义了一个对象,而且这个对象也只使用了一次,编写这样的函数对象类就有点浪费。 而且,定义函数对象类的地方和使用函数对象的地方可能相隔较远,看到函数对象,想要查看其 op 阅读全文

posted @ 2022-07-04 23:27 Hello-World3 阅读(723) 评论(0) 推荐(0) 编辑

2022年6月27日

Linux内核—llist

摘要: 基于 Linux-5.10.81 一、llist概述 部分使用场景无需锁保护的以NULL结尾的单链表。实现文件为 lib/llist.c 和 include/linux/llist.h,后者包含导出的函数和便利宏。 (1) 不需要加锁的情况:如果有多个生产者和多个消费者,则可以在生产者中使用 lli 阅读全文

posted @ 2022-06-27 16:44 Hello-World3 阅读(553) 评论(0) 推荐(0) 编辑

2022年6月22日

init.rc学习笔记

摘要: 1.在开机启动中,init.rc中,各trigger的触发顺序如下: early-initinitlate-init early-fsfspost-fspost-fs-dataload_all_props_actionfirmware_mounts_completeearly-bootboot 阅读全文

posted @ 2022-06-22 16:45 Hello-World3 阅读(164) 评论(0) 推荐(0) 编辑

2022年6月19日

理解Android Binder机制(3/3):Java层

摘要: 1. 在AOSP源码树中的路径 // Binder Framework JNI /frameworks/base/core/jni/android_util_Binder.h /frameworks/base/core/jni/android_util_Binder.cpp /frameworks/ 阅读全文

posted @ 2022-06-19 19:50 Hello-World3 阅读(281) 评论(0) 推荐(0) 编辑

2022年6月12日

Linux内核机制—spin_lock

摘要: 一、spin_lock概述 1. spin lock 是一种不可休眠锁,可用于原子上下文。当获取不到锁的时候会spin等待,此时是running状态。 2. spin lock 的发展到现在经历了四个阶段 (1) CAS 锁只有一个原子变量,执行单个 compare-and-swap 指令来获取锁。 阅读全文

posted @ 2022-06-12 14:57 Hello-World3 阅读(906) 评论(0) 推荐(0) 编辑

2022年6月10日

Linux内核机制—percpu_rwsem

摘要: 一、相关资料 1. kernel-5.10/Documentation/locking/percpu-rw-semaphore.rst percpu rw 信号量是一种新的读写信号量设计,针对读取锁定进行了优化。 传统的读写信号量的问题在于,当多个内核读取锁时,包含信号量的cache-line在内核 阅读全文

posted @ 2022-06-10 15:41 Hello-World3 阅读(986) 评论(0) 推荐(0) 编辑

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 66 下一页

导航