-
2023-12-07 #linux
参考Pro Git,一些vsc不方便代替的有用命令备忘
提交
自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过
git add
步骤,直接commitgit commit -a -m 'made a change'
gitignore
一个
.gitignore
文件的例子:# 忽略所有的 .a 文件 *.a # 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件 !lib.a #
-
2023-11-01 #fpga
-
2023-10-21 #arch
注: 啃手册自用,基于riscv-spec-20191213-1版本,使用DeepL辅助翻译,人工二次修改校对,若有纰漏,望谅指正.
riscv-spec
Chapter 9 “Zicsr” CSR
“Zicsr”, 控制和状态寄存器(CSR) 指令, Version 2.0
RISC-V 定义了一个由 4096 个控制和状态寄存器及其Hart(硬件线程)组成的独立地址空间。本章定义了在这些 CS
-
又是一个没写多少代码,但是却花了半个晚上思考程序OOP结构的夜晚,我发现这是在浪费时间,而且会让你的大脑很累,感觉昏昏沉沉的.所以我痛定思痛,写下下面的一些感悟总结. 不一定对,而且随着时间变化,一些观点也会改变吧.
- OOP不是必要: 当需要实例化多个相同类型的对象时,使用OOP来组织程序是很好的,但当整个程序中只存在一个实例(单例)的时候,面向对象设计得到的收益并不是很大.
- C++不是必要:
-
2023-08-23 #lan
介绍
之前一直用Valgrind这个工具来定位C/C++程序的各种内存问题,结果发现还有这个由Google开发的调试工具Sanitizers,提供更全面的报错和更好的性能(Valgrind会导致程序减慢大概20到50倍,而Sanitizers只会减慢大概2到4倍)
Sanitizers能够覆盖到如下这些Valgrind不能检测到的问题:
- Out-of-bounds access in stack
-
2023-08-22 #arch
RV32I指令集和多周期 RV32I CPU代码的笔记,可用于RV32I指令集速查
指令格式
RISC-V指令集是模块化设计的,其中RV32I是基本的32位整数ISA,只有47种指令,但是足以提供给现代操作系统足够的基本支持以及作为编译器的编译目标。
| 助记符 | 描述 | | ------ | ------------- | | I
-
2023-08-10 #lan