编程错误🙅 语法欠缺 if else if1234567891011121314151617181920auto check = [&nums, &n, &target](int mid) -> bool { bool ans = false; if (nums[mid] > nums[n-1]) if (target > nums[n-1] && 2024-09-22 刷题记录
AUTOSAR - Automatic Tcp Client MainFunction 周期性可配置 里面进行socket connection的连接工作 Maintain Conn会对如下三种情况下的socket connection进行open操作 SoAdSocketAutomaticSoConSetup == True 这种类型的管理全部交由SoAd模块进行,不允许用户主动使用open/close in reconnect stat 2024-09-21 嵌入式-开发
动态链接库 参考资料 7.10 动态链接共享库 前置总结 首先同一份动态库在不同程序中使用的虚拟内存空间是不一样的!加载动态库时,动态加载器在程序虚拟空间的文件映射区找到一块空闲的虚拟内存空间,用来承载动态库! 因此,动态库中程序的运行时地址是没有意义的 动态库在编译时无法知道/假设最终的执行地址 程序编译加载流程 描述基本的思路是当创建可执行文件时,静态执行一些链接,然后在程序加载时,动态完成 2024-09-21 嵌入式-开发
MESI:为什么还需要内存屏障 参考文档 2.4 CPU 缓存一致性 16 | 内存模型:有了MESI为什么还需要内存屏障? 使用总结 - 多核多线程开发 屏障前的读写,发生在之后的读写之前 这里的发生可以理解为 写:已经写到了其它core的缓存中/主存中,即该更新值对系统内的其它master是可见的 读:已经读到了最新值 从某个core上观察 自己在执行某条指令时 另外的CPU可能在执行任意一条待执行指令 2024-09-20 嵌入式-架构 #自我思考 #内存屏障
模版 - 滑窗 滑动窗口 模版总结 一定是条件满足时,更新最终结果 首先最外部的循环while (j < len) 接着内部有一个while循环,需要在里面压缩i 条件成立进while:最小窗口;更新值;更新条件;i++ 条件不成立进while:最大窗口;更新条件;i++;「在外面更新值」 接着走出while循环 j++ 注意与定长滑动窗口的区别!!! 破题思路:窗口应该满足什么条件 or 不 2024-09-19 刷题记录
Linux - 信号 当进程打开一个文件的时候,内核会为其创建一个 struct file 结构来描述被打开的文件,并在进程文件描述符列表 fd_array 数组中找到一个空闲位置分配给它,数组中对应的下标,就是我们在用户空间用到的文件描述符 而 struct file 结构是和进程相关的( fd 的作用域也是和进程相关的),即使多个进程打开同一个文件,那么内核会为每一个进程创建一个 struct file 结构,如上 2024-09-19 操作系统
模版 - 二分 两类模版 参考 二分模板一共有两个,分别适用于不同情况。 模板1和模板2本质上是根据代码来区分的,而不是应用场景: 如果写完之后发现是l = mid,那么在计算mid时需要加上1 否则如果写完之后发现是 r = mid,那么在计算mid时不能加1 总结 -> 解决最大最小问题 先判断想要拿到什么 -> 写出isTrue()函数 isTrue(mid) -> 接着判断是更 2024-09-19 刷题记录
经典模拟 2332. 坐上公交的最晚时间 灵神解法真的很巧妙 因为要使用最后一个装了多少,巧妙的把它放在循环里面 因为要找到最后一个上车的,也是直接使用前面模拟的结果 寻找插队位置时更是如此:12345678910111213141516171819202122232425262728class Solution{ public: int latestTimeCatchTheBus(vector& 2024-09-18 刷题记录