怀德维宁

大邦维屏,大宗维翰。怀德维宁,宗子维城。

0%

什么是virtio

virtio 是一种 I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用 I/O 设备的抽象。提供了一套上层应用与各 Hypervisor 虚拟化设备(KVM,Xen,VMware等)之间的通信框架和编程接口,减少跨平台所带来的兼容性问题,大大提高驱动程序开发效率。
virtio 协议定义了各类设备与驱动,定义了它们如何初始化,如何通信,如何通知等。其中,最核心的是设备与驱动的通信机制,避免了每次访问外设寄存器都要 vm_exit/vm_enter 的问题。

阅读全文 »

系统版本

(1)Ubuntu系统版本:20.04.1LTS;
(2)gcc编译器版本:gcc-9.3.0;
当前可找到的gcc最新版本为gcc-10,但是笔者在安装gcc-10版本时发现一些依赖项无法安装,因此选取了gcc-9版本。如果是在联网情况下安装,直接使用apt相关的安装指令即可。

阅读全文 »

编译时找不到.a后缀的静态库

大多数讲解QFtp配置的文章中都提到了讲pro文件中的config -= static改为config += static以生成静态库。但是需注意一点,msvc编译器与gnu编译器生产的静态库文件是不同的,msvc下的静态库文件是.lib后缀,而gnu下的静态库文件是.a后缀。

阅读全文 »