抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

嵌入式系统课程笔记

自主可控嵌入式系统课程提纲第一课 嵌入式系统的定义; 应应用为中心、计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统 嵌入式系统和通用计算机的区别; a. 专用性: 专门的处理器、功能算法的专用性、系统对用户透明 b. 小型化(资源有限): 结构紧凑、资源有限 c. 软硬件设计一体化: 软硬间依赖强,一般协同设计 d. 需要交叉开发环...

leetcode算法笔记

AbstractTODO learn 贪心 剪枝 dp 的思想和trade off PrefaceOverview双指针两数之和有序数组中找两数和为目标数 双指针, 小了移左, 大了移右 两数平方和给c,判断存在a, b有, f = a*a + b*b = c 双指针, f小了移左, f大了移右 最长子序列遍历src,尝试匹配dst 贪心法无重叠区间leetcode 思考会议预约,区间(st...

用C的方式理解rust

Preface作为一个母语是c程序员,初见rust时很多改变是比较模糊的,c中的指针等在rust中似乎变得更加抽象难以理解了。所以打算用类比的方式,让c程序员更好的理解rust。 1234567891011121314151617// 基于引用创建裸指针let mut num = 5;let r1 = &num as *const i32;let r2 = &mut num ...

大教堂与集市读书笔记

Abstract 如果一个人跟你聊开源,说他不懂这本书,那你大可以断定他是个外行人 传统软件开发模式像艰难而缓慢的大教堂建造工程,严密,封闭,集中式管理。而集市在创新,生产力和Bug控制上要更胜一筹,但是超过一定复杂度时,更严格更集中的管理是必要的 两种模式的根本区别在于他们对软件排错上完全不同的认识 Linus的开发风格:早发布,常发布,能委托则委托 好的作品往往源自个人需要 你遇...

rust小炒

Overviewrust中的一些技巧 tips引用与借用的区别创建引用的行为称为借用(borrowing) 裸指针和引用的相互转换引用可以隐式或显式地转换为裸指针 显式: let a: *const i32 = &b as *const i32; 隐式: let a: *cosnt i32 = &b; 1234567// Explicit cast:let i: u32 ...

acwing算法

AbstractPrefaceAlgo贪心 区间问题 套路: 左端点排序或右端点排序 证明套路: ans <= cnt + ans >= cnt => cnt = ans得整算法正确性 区间分组问题 套路: 左端点排序或右端点排序 可以使用最小堆等数据结构, 用一个”代表者”代替整个组, 就不用维护整个map 证明套路: ans <= cnt + an...

闫氏DP分析法

Abstract从集合的角度思考问题 动态规划 动态规划 状态表示dp(i, j, k, l, ...) 集合: 想办法归类, e.g. 走到[i, j]的路线, [i, j]i天j人的情况 属性: 常见的就MAX/MIN/数量 状态计算: 集合划分, 划分后的集合分别怎么计算得到 一个重要的依据: “最后” 不吝啬特判 e.g. 来自哪里

人月神话读书笔记

Overview虽然但是很多在今天可能不适用了。 人与月不可互换 越多的人不一定能带来越多的工作量(多个人月的工作量) 关键在于认知和计算方法的问题 人多了, 需要的沟通成本也多(IPC) e.g. 开会, 交流, 新人培训 怎解? 建议小团队工作 现代反例: 开源工作模式, e.g. github 外科手术团队的工作结构 好成员与差成员的管理(木桶效应) 所以不能平起平坐, ...

rust杂项

AbstractPrefaceOverview NonNull<T> 创建的时候使用*mut T创建: NonNull::new(*mut T) 假设说包裹的指针非空 mem::forget() 小工具火焰图12$ cargo install flamegraph$ cargo framegraph 查看asm输出rust和对应汇编代码 12$ cargo instal...

CPP cheat sheet

小抄 stack 妙用structure bind case 1: 使用pair等时用p.first, p.second有很差的可读性。可以使用auto [name, age] case 2: 除了pair, 结构体也可以使用bind。绑定的顺序和结构体成员顺序有关 12345678struct Person { string name; int age;}...