杂记
文章平均质量分 62
DeadPool loves Star
存储系统方向,热爱操作系统,乐于尝试不同的设计框架
展开
-
DEBUG大典
这里受小星星的邀请,更一下目前遇到的所有极为Hard的BUG(Debug 1-2天,最后改一两行代码)以及解决方案,日后遇到类似的可以有所参考。原创 2024-05-22 18:53:24 · 146 阅读 · 0 评论 -
VSCode关闭C_Cpp IntelliSeseEngine打开clangd的最佳姿势
这样就可以为每个工作区设置不同的智能提示了。原创 2024-03-14 10:45:32 · 361 阅读 · 0 评论 -
记一次GRUB未显示解决方案
博主使用的Dell R750服务器,BMC相关信息在机箱的一个可拔出卡片上。BMC的IP可以通过重启服务器在BIOS加载界面获取。介绍了一种讲GRUB重定向到串口的方法,但是这使得在服务器显示器上无法看到GRUB菜单,导致我们无法切换一个损坏的内核。查看服务器串口输出。需要服务器有BMC环境,远程使用。工具进行GRUB操作。原创 2024-02-25 17:57:57 · 280 阅读 · 0 评论 -
从C/C++ Extension到Clangd:Linux开发实战
随着开发结构愈发复杂,无法很好地进行代码跳转任务。本文介绍了如何通过Clangd进行更丝滑开发的办法。掌握这一点,我们就可以起飞了原创 2023-12-19 13:46:13 · 1014 阅读 · 0 评论 -
从Makefile生成compile_commands.json
【代码】从Makefile生成compile_commands.json。原创 2023-12-05 17:18:52 · 884 阅读 · 0 评论 -
远程服务器QEMU+Ubuntu+GRUB+VNC最佳实践
在远程环境上配置QEMU+Ubuntu+GRUB+VNC原创 2023-12-05 10:14:24 · 1072 阅读 · 0 评论 -
解决ssh -T git@github.com报错connection closed问题
【代码】解决ssh -T git@github.com报错connection closed问题。原创 2023-11-24 22:18:09 · 998 阅读 · 0 评论 -
Matplotlib实现Label及Title都在下方的最佳姿势
其实很难想象Matplotlib一直没有一个类似的库来支持以上操作。但这种方法导致对坐标的解释文字无法很好适配。另一种方案,即背景中的方案,也需要繁琐的适配。本文给出了一种自动化方案,希望能对科研作图有所帮助。原创 2023-11-20 22:26:56 · 1234 阅读 · 0 评论 -
CentOS 8 GLIBC升级失败系统崩溃抢修实战
服务器为CentOS 8,支持glibc版本为2.28,但编译一个工具的glibc需求版本为2.34,于是非常脑残地参考这篇Tutorial开始升级之旅:下载glibc-2.34,并configure到了系统目录,然后将源码make && make install,然后……原创 2023-07-19 21:19:27 · 4272 阅读 · 3 评论 -
Review of Digital Image Processing (HITSZ)
HITSZ DIP 研开卷考试复习原创 2023-05-04 20:28:16 · 149 阅读 · 0 评论 -
解决远程SSH连接无法使用code命令快速打开文件夹
服务器不知道除了什么幺蛾子,每次VS-Code更新后都无法使用code命令快速打开文件夹,今天这里详细记录一下解决方法原创 2023-04-08 21:39:38 · 1610 阅读 · 0 评论 -
VSCode Remote-SSH配置免密登录踩坑
相关教程很多,但要么冗余,要么不清晰,博主在这篇文章中将首先列出相关参考资料,其次给出较为清晰的流程(OS),最后列出坑点,避免大家二次踩坑。原创 2023-02-20 11:08:13 · 970 阅读 · 0 评论 -
Review of Western Civilization (HITSZ)
HITSZ西方文明简介复习大纲(自用)原创 2023-02-18 23:24:29 · 694 阅读 · 0 评论 -
解决机械键盘进饮料回弹慢问题
解决机械键盘进饮料回弹慢问题,含图原创 2023-02-15 10:19:48 · 3378 阅读 · 0 评论 -
Review of Combinatorics (HITSZ)含22年真题
HITSZ组合数学复习记录,包含22年真题回顾原创 2023-02-11 22:06:18 · 978 阅读 · 1 评论 -
解决学生包突然无法使用Copilot (2023/1/12)
解决学生包突然无法使用Copilot (2023/1/12)原创 2023-01-12 14:14:15 · 4708 阅读 · 2 评论 -
解决inlining failed in call to always_inline ‘mm_crc32_u32’: target specific option mismatch
快速解决C语言调用硬件CRC32能力的inlining failed in call to always_inline 'mm_crc32_u32'错误原创 2022-12-09 12:54:12 · 2488 阅读 · 0 评论 -
Git、VSCode、Python等软件使用小技巧记录
很多软件的使用技巧例如git、github等,每次找博客质量参差不齐,常常找不到上次找的,虽然收藏博客也可以,不过收藏博客似乎缺乏分类。本文就记录一下好了原创 2022-11-24 19:25:11 · 322 阅读 · 0 评论 -
用soul宏包解决Latex \underline换行问题
LaTeX里添加下划线无法自动换行,于是博主随便百度了一下,心想这种简单的问题回复会很多吧,结果一大半都是抄过来抄过去:用\uline之类的东西,然而这种方案会对\emph之类的有较大的影响,非常影响写作体验,博主将介绍另一种简单的方案。原创 2022-09-18 00:10:58 · 3092 阅读 · 7 评论 -
内存泄漏、多线程Debug技巧总结
一些博主常用的Debug技巧原创 2022-09-05 13:06:43 · 795 阅读 · 0 评论 -
万变不离其宗:利用VSCode进行花式编译与调试
本文以一个FUSE(File System in User Space)项目为例进行对上篇博客进行实例介绍,说明对任意结构的项目都可以以相同或类似的思路进行VSCode的配置,从而解放双手,一键编译。此外,为了进一步参透launch.json和task.json文件原理,本文将二者的操作以脚本的方式翻译出来,以期更利于读者理解。......原创 2022-08-17 11:21:18 · 1612 阅读 · 4 评论 -
C语言将GLib库添加到CMake工程中
GLib为C语言开发者提供了大量基础数据结构,可以看作C++ stl库的C语言版。本文介绍如何将GLib加入到CMake工程中原创 2022-07-28 21:48:48 · 1502 阅读 · 0 评论 -
Windows 10外接屏性能挖掘
Windows 10外接屏拓展模式下拖动卡顿,开启GPU加速计划后该现象消失,本文首先提出方法,接着进行猜测解释。原创 2022-07-21 13:25:09 · 428 阅读 · 3 评论 -
好用的计算机科研软件(个人收藏)
计算机科研软件(自用)原创 2022-06-17 15:37:34 · 817 阅读 · 2 评论 -
关于impctl后台计数器不断变化的原因解释
关于impctl后台计数器不断变化的原因解释留个链接以备忘,下面是回答,暂时不慌翻译This behavior is expected.The media reads and media writes are between the DCPMM controller and Optane media.There are firmware processes there that are constantly running for checking media integrity, updatin原创 2022-05-28 22:07:59 · 153 阅读 · 4 评论 -
操作系统使用小技巧(持续更新)
系统使用小技巧原创 2022-05-04 15:22:32 · 445 阅读 · 2 评论 -
解决fatal: unable to access xxx: Failed to connect to github.com port 443: Timed out
科学地解决fatal: unable to access xxx: Failed to connect to github.com port 443: Timed out1. 参考寂寥2. 解决方法2.1 了解代理服务器地址2.2 配置git很多时候git push合理上网都不好使,总是报错:Failed to connect to github.com port 443: Timed out,这是因为git不会自动使用代理,需要配置,不多BB,直接开始介绍方法1. 参考寂寥Failed to c原创 2022-04-23 21:39:47 · 7210 阅读 · 8 评论 -
Linux下Optane DCPMM Interleaved和Non-interleaved模式配置
Linux下Optane DCPMM Interleaved和Non-interleaved模式配置近几个月一直在做Optane DCPMM(商用NVM)相关的工作。说来惭愧,最近几天才知道如何进行Interleaved和Non-interleaved模式配置。废话不多说,直接上命令1. 准备下载ndctl和ipmctl,网上方法众多,在此不做赘述2. Interleaved模式Optane DCPMM默认配置就是Interleaved模式,配置脚本如下:sudo ndctl destroy原创 2022-04-04 13:52:54 · 1733 阅读 · 2 评论 -
VSCode的launch.json和task.json解读
VSCode的launch.json和task.json解读1. 精简要点2. 实例1. 精简要点launch.json文件是VSCode启动程序的配置文件,着重关注以下几个参数:program:代表要运行的二进制文件(也就是你的C代码编译出来的程序)所在路径miDebuggerPath:代表调试器(GDB)所在路径preLaunchTask:在运行program前要做的前置任务,比如编译,task.json就是用于定义前置任务task.json也是配置文件,有几个重要参数:原创 2022-03-09 10:58:52 · 14020 阅读 · 1 评论 -
Windows10 SVG转PDF
Windows10 SVG转PDF1. 下载inkscape2. Bat脚本写论文经常要特定格式的图片文件,例如EPS、PDF等,博主喜爱用PPT绘图,但不巧,PPT只能导出SVG格式的图片,那么如何在Win10上将SVG转为PDF格式呢?不多BB,直接来看1. 下载inkscapeinkscape是一款绘图软件,但其可以用命令行的方式进行各种格式的图片转换,这是首要工具,下载链接,注意,安装过程中一定要将其加入环境变量。如何验证inkscape成功加入到了环境变量中呢?打开CMD,输入下述命令原创 2022-02-26 12:32:02 · 1217 阅读 · 6 评论 -
浅谈VAST DATA公司
浅谈VAST DATA公司1. 概述2. White Paper2.1 Why Universal Storage2.2 Defining Universal Storage2.3 New Tech Lay A New Storage Fondation2.4 DASE(DisAggregated Shared Everything)导师让了解一下VAST DATA这家企业,不知道要干嘛,看了一下它的白皮书,很多东西还是不太了解。不过总体架构还是能够基本理解,这里简单记录一下。1. 概述理念原创 2022-02-15 17:58:35 · 3360 阅读 · 0 评论 -
内核开发崩溃定位方法实践
内核崩溃定位方法1. 参考文章2. 实践2.1 内核配置2.2 内核崩溃定位这些天遇到一个非常离谱的内核错误,用眼睛看根本无法定位……因为看不懂内核DUMP日志,这里简单记录一下1. 参考文章定位内核模块crash的方法2. 实践2.1 内核配置首先内核需要可DEBUG,相关配置可参考博主之前的文章用VSCode + QEMU跑起来能够可视化Debug的NOVA文件系统,这里重点关注下面内核DEBUG选项配置部分:# 接下来配置内核Debug选项,直接用命令即可# 下述代码-e表示ena原创 2022-02-04 11:01:19 · 1539 阅读 · 0 评论 -
解决Failed to find an available port: Address already in use
解决Failed to find an available port: Address already in use很多时候运行QEMU我们会加入-s选项,在某些情况下没有正常关闭QEMU会使得端口未被释放,这时就会出现Failed to find an available port: Address already in use错误,不多BB,解决方法如下:利用sudo lsof -i tcp:端口号查找相关进程,这里QEMU的-s选项默认GDB端口号是1234,所以我们输入下述命令[deadp原创 2022-02-02 21:39:35 · 6060 阅读 · 4 评论 -
制作根文件系统:一站式配置脚本
制作根文件系统:一站式配置脚本1. 利用BusyBox构建根目录文件系统1.1 BusyBox安装与编译1.2 制作文件系统2. 一站式配置脚本本文承接自用VSCode + QEMU跑起来能够可视化Debug的NOVA文件系统,在上篇文章中我们使用CentOS8自带的initramfs来作为qemu的initramfs,这样实在不方便:不可定制化,启动时间太长等,在这篇文章中博主将介绍利用busybox制作initramfs的方法,并会提供一套全自动化构建rootfs脚本,不多BB,直接起飞。如果不想看原创 2022-01-26 22:27:31 · 770 阅读 · 4 评论 -
解决Windows 10不显示打字框
解决Windows 10不显示打字框昨晚更新了Win 10系统,今早莫名其妙打字没了框……可太尴尬了。1. 已有的解决方案目前能百度到的方案基本都是调整输入法兼容性,这种方式的输入框是远古Win 10的模样,让人十分不习惯:如何回到现在的输入框呢2. 另一种解决方案其实很简单,输入框不见了是系统更新所致,赶快打开设置看看是不是系统没更新完成:一般来说都是有版本没有更新,更新系统即可。...原创 2022-01-24 11:20:34 · 2751 阅读 · 1 评论 -
解决在CentOS 8编译glibc-static
解决在CentOS 8编译glibc-static最近想要学习制作rootfs的方法,需要编译静态busybox,但是在我的CentOS 8服务器的yum源中死活找不到libm.a静态链接库,本文介绍博主的解决方案。参考这篇文章,当你找不到想要的包的时候,直接上这个网站https://centos.pkgs.org去搜你想要的包,并使用:wget xxx命令将binary文件下载下来。本次我们下载glibc-static,因为libm.a是位于glibc-static包里的我们在创建一个文原创 2022-01-21 14:28:58 · 2099 阅读 · 0 评论 -
自动写代码?Copilot尝鲜及其奇技淫巧
Copilot是一款帮助程序员写代码的利器(Co pilot,协同飞行员),本文主要进行Copilot的简要介绍及讲解其使用方法原创 2021-12-01 11:18:20 · 2548 阅读 · 1 评论 -
解决文件损坏导致的fatal: not a git repository (or any of the parent directories): .git
解决文件损坏导致的fatal: not a git repository (or any of the parent directories): .git与平日碰到的情况不同,我的目录下有.git文件,但还是报这个错1. 问题描述离离原上谱。2. 解决方案参考地址发现.git/HEAD文件空了,这里本应该记录了所有Branches的信息,这意味着git的HEAD文件被损坏了。恢复步骤如下:# 发现没有输出 cat .git/HEAD# 临时修补echo 'ref: refs/h原创 2021-11-17 10:43:26 · 2998 阅读 · 1 评论 -
sscanf分割字符串
sscanf分割字符串参考自这里例如字符串str为:x = 10,我想利用sscanf切割key = 'x'和value = 10,但是直接用下面这种方式不太行:sscanf(str, "%s=%s", cBufferKey, cBufferValue);这种方式导致解析出来cBufferValue为空。正确方式应该是这样:sscanf(str, "%[^s]=%s", cBufferKey, cBufferValue);...原创 2021-09-04 20:14:20 · 1770 阅读 · 0 评论 -
关于VSCode用SSH连接OpenEuler
关于VSCode用SSH连接OpenEuler1. 在VMWare中安装OpenEuler下载iso文件傻瓜式安装2. 为VSCode安装Remote SSH拓展3. 修改/etc/ssh/sshd_config文件尝试连接设置OpenEuler源并安装tar最近有一个OpenEuler上的小项目,我的主要任务是尝试构建本地RPM包……由于没有为OpenEuler安装图形化界面,因此最好就用SSH来连接它1. 在VMWare中安装OpenEuler可以参考这篇文章也可以按照我的方法来做(更为简单原创 2021-06-29 18:24:38 · 3753 阅读 · 13 评论