-
2024-05-09 #linux
标题党了一下www,总之下面整理了一些平时用起来感觉很方便的软件
- 使用ubuntu-drivers安装NVIDIA显卡驱动
- nala代替apt,nala支持镜像测速,更好看的交互界面
- 安装autojump,使用
j命令代替cd - 安装tldr,迅速查看某个命令的常见使用示例
- zsh代替bash,并且装上theme(powerlevel10k),历史命令速查等诸多插件
- 安装fzf(最好通过git源
-
2024-02-16 #lan
为了开发Steam VR平台上面的东西,不得不在Windows系统上使用Visual Studio进行开发。Visual Studio上面很多配置都是需要去层层菜单里面找,用鼠标去点UI来配置(除非你还想直接碰xml这种玩意儿),这对于习惯了Linux上使用代码,CLI等等配置环境的我来说,感到非常不适应,踩了很多坑,在此总结一下这种 ~~UI操作构建系统~~ 的要点。
下面具体的菜单操作都是以
V -
2024-02-07 #linux 🌟
基础概念
连接器将多个输入的
object文件合并成一个输出的object文件(又叫executable), 每个object文件都含有许多sections, 即段, 每个段都有名字和大小, 大多数段含有数据, 段可以被标记为:loadable: 运行时内容可被载入到内存allocatable: 内存中留出的区域, 此区域不应该加载任何特定的内容- 其余的, 一般都是某种调试信息
每个
load -
2024-01-25 #web
SakuraFrp平台提供的36M带宽内网穿透还是不太行,可能是最近玩帕鲁实在是太多了,六七个人一起联机的时候就比较卡了,一开始还以为是主机的性能问题,最后发现就是内网穿透严重丢包带来的问题。于是考虑自建内网穿透,正好手上有个2核2G的服务器。
我们方案是本地Windows主机通过一台有公网IP 2核2G 带宽3M的云服务器做frp内网穿透,以提供联机服务(也就是说通过一台云服务器作为跳板,让大家
-
2024-01-16 #lan
新基础类型
- 虽然随着C99加入了
long long类型而且编译器很早便支持了这个类型,但是直到C++11才正式加入标准 UTF-8是一种可变长度的编码方法,一般直接用char类型处理(C++20加入了char8_t以和普通字符区分). 而UTF-16和UTF-32编码则分别对应char16_t和char32_t.
命名空间
- 可以内联命名空间,
inline namespace V2,利用此特
- 虽然随着C99加入了
-
2024-01-04 #arch
冒险与停顿
- 结构冒险
- 每个部件每个周期只能被一条指令使用
- 数据冒险
- 前递(forwarding)或旁路: 上级已经计算出新值,下一级(以及之后)不必等待,直接拿到数据 e.g.
sub x2, x1, x3; and x12, x2, x5,其中x2在sub指令的EX阶段算出来新值后可以立即前递给and指令的EX阶段 - 停顿(stall)或气泡: 无法前递的冒险(比如载入-使用型数据冒险)只能
- 前递(forwarding)或旁路: 上级已经计算出新值,下一级(以及之后)不必等待,直接拿到数据 e.g.
- 结构冒险
-
2023-12-27 #arch 🌟
代码都在这里
刚学完AXI-Lite,在用
valid/ready握手在一条链上传递信息的时候,发现每传递一个消息,每一级都需要切换idle和wait两个状态,当时就在想能不能砍掉idle状态,毫无停顿地发下去.学到Double Buffer FIFO的时候,才发现原来可以这样简单地就解决了.Bubble FIFO
先考虑最简单的Bubble FIFO,每个Buffer只有两种状态:空
empt -
2023-12-24 #lan
- Tour of Scala,中文版
- Scala Online Playground
- A Compact Benchmark in C++, Java, Go, and Scala from Google(PDF)
Basic
// Types // Any is the supertype of all types, Nothing is the subtype of all types / -
2023-12-20 #web
Commits
- 2023-07-30:
Initial commit, 智能车比赛结束之后从济南回来,正值数据结构实习,先学了几天next.js,感觉后端和SEO还是不太妙,用回了熟悉的Django - 2023-08-08: 基本博客系统写完了,有在线MD编辑器了,初步部署
- 2023-08-14: 前端UI设计基本成形, ~~不纠结了~~
- 2023-08-23: 评论系统完成
- 2023-11-26
- 2023-07-30:
-
Types
Datais the root of the Chisel type system.UIntandSIntextendBits虽然chisel能够自动推断宽度,但是最好还是指定一下宽度(如
4.W)UInt () UInt (8.W) 3.U(4.W) // An 4-bit constant of 3We will need Scala vars to write
-
2023-12-07 #linux
参考Pro Git,一些vsc不方便代替的有用命令备忘
快速clone
只克隆指定分支的提交记录
git clone --branch <分支名称> --single-branch <远程仓库地址>只克隆最近一次提交,后续还可以
git fetch --depth=N获取更多git clone --depth=1 <远程仓库地址>提交
自动把所有已经
-
2023-11-01 #fpga
-
又是一个没写多少代码,但是却花了半个晚上思考程序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