解决gcc-multilib : 依赖: gcc-4.8-multilib (>= 4.8.2-5~) 但是它将不会被安装 问题这是一类问题,不仅限于安装gcc,这类问题的根本原因在于,Ubuntu已安装的软件包版本高,而所安装软件的依赖包版本低,这样在安装高版软件时,已有的软件包依赖你要安装的软件包,你把软件包升级了,可能就会破坏这个依赖关系,所以apt-get不让你安装。 这时就要请到大杀器-aptitude,它与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 2021-09-03 Bug踩坑记录 Linux Bug
解决fatal error: bits/libc-header-start.h:no such file 保留现场想要分别编译32位和64位的程序时,gcc出现了错误, 12345In file included from func_call.c:1:/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: 没有那个文件或目录 27 | #include <bits/libc-header-start.h> 2021-09-03 Bug踩坑记录 Linux 汇编语言 GCC Bug
QEMU源码分析-虚拟CPU创建 流程图先开个头吧,把创建流程稍微捋一下,找到创建虚拟CPU的模块。至于中间的流程还没有详细分析,万事开头难,先上手再说吧。 qemu_add_opts解析qemu的命令行qemu_init函数中下面这一长串内容,就是在解析命令行的参数。 1234567891011121314151617qemu add opts (&qemu drive opts);qemu add drive opt 2021-09-01 QEMU源码分析 Linux QEMU
Qt文件系统 Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备的类图: 图中所涉及的类及其用途简要说明如下: QIODevice:所有I/O设备类的父类,提供了字节块读写的通用操作以及基本接口;QFlie:访问本地文件或者嵌入资源;QTemporaryFile:创建和访问本地文件系统的临时文件;QBuffer:读写QByteArray;QProces 2021-08-31 Qt
CSAPP配套实验BombLab详解 Tips缩写注释CSAPP:Computer Systems A Programmer’s Perspective(深入理解计算机操作系统)。CSAPP(C:P166,O:P278)表示书本的中文版第166页,英文原版第278页。 寄存器信息了解寄存器的基本用途,看到一个汇编代码,可以大概了解这个寄存器是在栈中使用的,还是保存参数的,是调用者保存,还是被调用者保存。 GDB调试过程用到的GDB 2021-08-29 Linux GDB CSAPP
GDB调试入门 file加载程序12(gdb) file bombReading symbols from bomb... set args带参数调试有时候程序不是直接可以运行的,需要加上一些必要的参数。带上参数运行很容易,只要在程序名后加上相应参数即可,但是如何带上参数进行调试呢?这就需要set args命令。 比如在BombLab实验中,我们不可能一次解决所有phase,但是每次重新调试,已经解决的phase 2021-08-29 Linux GDB CSAPP
oh-my-zsh让你的终端更加顺手(眼) 效果安装官方方法,curl和wget二选一即可 12curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.shwget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh 应该也有人和 2021-08-29 Linux Plugins
Qt绘制系统 本篇文章所涉及代码可在此处查看。 绘制系统简介Qt的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。 QPainter用来执行绘制的操作;QPaintDevice是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter工作的空间;QPaintEngi 2021-08-27 Qt
RISC-V入门(1)- 计算机基础 计算机基础计算机硬件基础两大硬件架构 冯诺依曼架构 一根总线,开销小,控制逻辑实现简单 执行效率低 哈佛架构 与上一架构相反 程序的存储与执行.c文件经过编译链接,生成.out文件。加载到内存中,到控制单元运行。进行取值,译码,执行。 晶振发出脉冲。 语言的设计与进化上图是冯诺依曼架构,特点就是指令与数据放在一起。黄色部分表示指令,绿色部分表示数据。我们来看看指令是如何 2021-08-26 RISC-V入门 RISCV
VSCode单步调试QEMU 了解了如何在VSCode中调试程序,接下来我们在VSCode中搭建调试QEMU的环境。 配置首先我们需要下载和编译QEMU源码 1./configure --enable-debug --target-list=riscv32-softmmu,riscv32-linux-user --enable-kvm 一定要加上--enable-debug,编译出的程序才带有调试信息,不用设置安装路径,编译时 2021-08-24 Linux VSCode QEMU