RISC-V GNU 工具链:安装与使用

我们要做什么?

写一个 CPU !

由于体系结构课程的 CPU 大作业规定使用 RISC-V 指令集,因此要用到 RISC-V 的 GNU 工具链来进行汇编,最近班上的一些同学就在下载安装,还有同学问我应该如何使用这个工具链。经过上个周末的折腾,我大概可以整理一个非常非官方的 “Manual” 给还没有装好工具链的同学简要介绍一下这个工具链的安装和使用(仅仅是面向此次 CPU 大作业的使用)。

安装

首先我们要从 git 仓库将工具链的源码 clone 下来,请注意不要漏掉 –rescursive 的选项,否则不会完整地获取所需的子模块代码。
[crayon-5adb1b0ed[……]

Read more

在 C++ 程序中输出变量名

问题提出

几天前,有人问了我这样一个问题:

我在调试 C++ 程序的时候,希望在代码中的一些位置输出某些变量以便于查找错误。
为了能够直观地在输出结果中分辨不同变量,要在输出每个变量之前先输出它的变量名。
比如,在输出一个变量 matrix1 的时候,我会使用这样的语句手动输出变量名:
cout << "matrixResult: " << matrixResult;
但是我感觉到每次输出变量时都要多写一遍变量名很繁琐,有没有更简洁的输出方式呢?

我此前并没有遇到过这样的需求,也不认为提问者所述的手动输出变量名是非常繁琐的做法,但是也感觉到这是一个挺有趣的[……]

Read more

使用Python脚本实现微信个人账号的自动回复

的确存在的需求

QQ 提供了一个简单的设定自动回复的功能,在账号状态为“离开/忙碌”时若收到好友的消息,可以自动给好友回复用户预先设定的内容,比如“[自动回复] 您好,我现在有事不在,请稍后再联系。”

微信公众号也提供了根据关键词进行自动回复的功能,以实现公众号与关注用户的简单交互。但是直到目前,微信的个人账号是没有自动回复功能的。刚好在寒假里自己看了一点点 Python 的基础,又发现了一个微信的 Python 接口 itchat,便想到写一个 Python 脚本来实现微信个人账号的自动回复,当时只是觉得实现这样的一个脚本挺好玩,并不认为这会多少有价值的应用。后来我在知乎上回答了一个[……]

Read more