摘要:
@目录move万能引用引用折叠forward总结参考 基于C++11标准 在c++标准库的utility中,提供了下面几个非常用用的小函数: x2=forward(x):x2是一个右值;不抛出异常 x2=move(x):x2是一个右值;不抛出异常 x2=move_if_noexcept(x):若x可
阅读全文
posted @ 2025-02-22 22:25
main_c
阅读(1)
推荐(0)
摘要:
@目录chrono库durationtime_pointclocksC 风格日期和时间库参考 C++ 支持两种类型的时间操作: Chrono库,在chrono头文件中提供 C 风格日期和时间库,std::time这种,在ctime头文件中提供 chrono库 在<chrono>中,标准库提供了处理时
阅读全文
posted @ 2025-02-22 19:52
main_c
阅读(1)
推荐(0)
摘要:
@目录auto_ptrunique_ptrshared_ptrshared_ptr是如何实现共享式指针?weak_ptr如何使用智能指针参考 auto_ptr auto_ptr是C++11前标准库提供的一种智能指针,它具有unique_ptr的部分特性,但不是全部。特别是,我们不能在容器中保存aut
阅读全文
posted @ 2025-02-22 15:32
main_c
阅读(1)
推荐(0)
摘要:
@目录函数对象函数适配器bindbind的重载问题bind的引用问题mem_fnfunction C++标准库提供了函数对象和函数适配器功能 函数对象 许多标准库算法都接受函数对象(或函数)参数,用来控制其工作方式。常见的函数对象包括——比较标准、谓词(返回bool的函数)和算术运算。标准库在<fu
阅读全文
posted @ 2025-02-21 23:58
main_c
阅读(0)
推荐(0)
摘要:
@[toc] 本文将对C++的STL进行一些基础介绍。 STL简介 STL(Standard Template Library,标准模板库),顾名思义是一堆C模板及其支持工具所组成的库,由于STL基本占据了C标准库的绝大部分内容,所以有时也用STL指代C++标准库。 STL开源实现: https:/
阅读全文
posted @ 2025-02-21 17:08
main_c
阅读(1)
推荐(0)
摘要:
目录主事件循环事件循环事件调度器事件处理投递事件发送事件事件循环的嵌套线程的事件循环deleteLater与事件循环QEventLoop类QEventLoop应用等待一段时间同步操作模拟模态对话框参考 本文主要对QT中的事件循环做简单介绍和使用 Qt作为一个跨平台的UI框架,其事件循环实现原理, 就
阅读全文
posted @ 2025-02-20 23:24
main_c
阅读(3)
推荐(0)
摘要:
目录线程基础QT中的多线程技术QThread派生QThread类对象的方法(重写Run函数)使用信号与槽方式来实现多线程注意QThreadPool和QRunnableQThreadPool类QRunnable类Qt ConcurrentQtConcurrent基本使用选择合适的方法参考 本文将对QT
阅读全文
posted @ 2025-02-20 20:22
main_c
阅读(5)
推荐(0)
摘要:
信号和槽的声明 在qt中,信号槽机制是用于qt对象间通信的机制。一个类要能构使用信号槽,必须继承子QObject类并添加Q_OBJECT宏: #include <QObject> class qt_demo : public QObject { Q_OBJECT public: explicit q
阅读全文
posted @ 2025-02-20 16:12
main_c
阅读(11)
推荐(0)
摘要:
@目录系统调用和POSIX标准系统调用表程序直接访问系统调用新增系统调用 在linux中,内核空间和用户空间之间增加了一个中间层——系统调用层,如下图: 系统内调用层主要作用: 为用户空间程序提供一层硬件抽象接口。 保证系统稳定和安全,应用陈续访问内核必须通过系统调用层,那么内核可以在系统调用层对应
阅读全文
posted @ 2025-02-13 23:23
main_c
阅读(0)
推荐(0)
摘要:
目录一个简单的带缓冲区虚拟设备使用KFIFO非阻塞模式阻塞模式I/O多路复用异步通知 一个简单的带缓冲区虚拟设备 入下图所示,一个简单的虚拟设备只有一个缓冲区或者FIFO的部件,实现了一个先进先出的缓冲区。用户程序可以通过wirte()函数把用户数据写入这个虚拟设备的FIFO中,还可以通过read(
阅读全文
posted @ 2025-02-10 12:12
main_c
阅读(1)
推荐(0)
摘要:
目录简介debugfs接口参考 简介 环境:Linux dev-PC 5.18.17-amd64-desktop-hwe #20.01.00.10 SMP PREEMPT_DYNAMIC Thu Jun 15 16:17:50 CST 2023 x86_64 GNU/Linux debugfs是一种
阅读全文
posted @ 2025-02-09 17:09
main_c
阅读(2)
推荐(0)
摘要:
目录简介sysfs接口sysfs和procfs参考 本文拟对Linux sysfs虚拟文件系统进行简单的介绍和原理分析 简介 测试环境:Linux dev-PC 5.18.17-amd64-desktop-hwe #20.01.00.10 SMP PREEMPT_DYNAMIC Thu Jun 15
阅读全文
posted @ 2025-02-09 16:47
main_c
阅读(3)
推荐(0)
摘要:
目录简介proc常用节点pid节点procfs接口参考 简介 测试环境:Linux dev-PC 5.18.17-amd64-desktop-hwe #20.01.00.10 SMP PREEMPT_DYNAMIC Thu Jun 15 16:17:50 CST 2023 x86_64 GNU/Li
阅读全文
posted @ 2025-02-09 15:26
main_c
阅读(1)
推荐(0)
摘要:
目录背景ltrace原理ltrace使用跟踪程序调用库函数跟踪指定pid进程调用参考 本文介绍ltrace跟踪 背景 ltrace 会拦截并记录正在执行的进程所调用的动态库调用以及该进程接收到的信号,它还可以拦截并打印程序执行的系统调用。 其代码位置在:https://gitlab.com/cesp
阅读全文
posted @ 2025-02-08 21:16
main_c
阅读(2)
推荐(0)
摘要:
目录ftrace介绍开启ftrace常用ftrace跟踪器ftrace使用ftrace跟踪指定内核函数ftrace跟踪指定pidirqs跟踪器preemptoff跟踪器preemptirqsoff跟踪器function跟踪器动态ftrace事件跟踪ftrace原理ftrace与stracetrace
阅读全文
posted @ 2025-02-07 23:44
main_c
阅读(3)
推荐(0)
摘要:
mermaid.js 目前使用Mermaid扩展,具体用法参考官方文档:https://mermaid.js.org/intro/。 需要注意的是不同的markdown编辑器对扩展的支持程度不同 参考 Mermaid Diagramming and charting tool Markdown支持的
阅读全文
posted @ 2025-02-06 15:25
main_c
阅读(2)
推荐(0)
摘要:
目录术语Chapter 1 Accustoming Yourself to C++条款1 视c++为一个语言城邦(View C++ as a federation of languages)条款2 尽量以const、enum、inline替换#define (Prefer consts, enums
阅读全文
posted @ 2025-01-24 21:34
main_c
阅读(1)
推荐(0)
摘要:
目录背景构建使用参考 背景 spice-gtk是一个大的项目,还是比较复杂的。 首先要提的是spice项目,SPICE 项目旨在提供一个完整的开源解决方案,以实现无缝远程访问虚拟机,从而让您可以轻松地播放视频、录制音频、共享 USB 设备以及共享文件夹。 SPICE 可以分为四个不同的组件:协议、客
阅读全文
posted @ 2025-01-11 21:36
main_c
阅读(3)
推荐(0)
摘要:
目录背景典型场景编译usbredirparserusbredirfilterusbredirparser/usbredirprotousbredirhostusbredirect/usbredirtestclient参考 背景 usbredir 是一种用于通过网络转发 USB 设备流量的网络协议。它
阅读全文
posted @ 2025-01-11 20:28
main_c
阅读(4)
推荐(0)
摘要:
目录USB(Universal Serial Bus)概述USB系统的描述USB总线传输方式USB的拓扑结构USB的连接模型USB控制器及分类USB描述符USB 端点USB枚举过程USB 四种传输类型USB 事务批量传输(Bulk)中断传输(Interrupt)等时传输(Isochronous)控制
阅读全文
posted @ 2025-01-10 20:12
main_c
阅读(4)
推荐(0)
摘要:
目录libusb 简介libusb 编译libusb 源码目录介绍核心代码文件平台支持例子API使用libusb初始化和去初始化libusb设备处理和枚举libusb 杂项libusb USB描述符libusb 设备热插拔事件通知libusb 异步设备I/Olibusb 同步设备I/Olibusb
阅读全文
posted @ 2025-01-10 20:00
main_c
阅读(19)
推荐(0)
摘要:
目录原理ptrace系统调用使用ptrace跟踪进程使用跟踪可执行程序跟踪服务程序获取系统调用统计获取系统调用用时获取系统调用的时间参考 strace命令是一个集诊断、调试、统计与一体的工具,可以用来追踪和调试程序。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 原
阅读全文
posted @ 2025-01-10 00:03
main_c
阅读(3)
推荐(0)
摘要:
目录原理编译使用监控整个系统的性能单个程序的性能分析对程序进行更细粒度的分析对进程进行分析生成svg图片火焰图参考 perf (Performance analysis tools for Linux)是Linux的一款性能分析工具,能够进行函数级和指令级的热点查找,可以用来分析程序中热点函数的CP
阅读全文
posted @ 2025-01-09 22:41
main_c
阅读(4)
推荐(0)
摘要:
目录基本概念虚拟内存常用命令编译参数前端显示help启动运行程序停止/恢复断点观察点捕捉点维护停止点为停止点设定执行命令单步信号线程堆栈查看源码搜索源代码显示查看内存一些设置命令查看寄存器修改变量值其他高级用法案例小结参考 GDB(GNU Debugger)是UNIX及UNIX-like下的强大调试
阅读全文
posted @ 2025-01-09 14:02
main_c
阅读(1)
推荐(0)
摘要:
目录链表双向链表哈希链表红黑树无锁环形缓冲区映射参考 内核版本:linux-6.6.69 longterm 链表 双向链表 Linux内核实现了一套纯链表的封装,链表节点数据结构只有指针区而没有数据区,另外还封装了各种操作函数,如创建节点函数、插入节点函数、删除节点函数、遍历节点函数等。 linux
阅读全文
posted @ 2025-01-07 22:49
main_c
阅读(1)
推荐(0)
摘要:
目录磁盘的类型介质HDDSSD硬盘关键指标接口Integrated Drive Electronics (IDE)Advanced Technology Attachment (ATA) / Parallel Advanced Technology Attachment (PATA)SATA(Ser
阅读全文
posted @ 2025-01-07 00:23
main_c
阅读(7)
推荐(0)
摘要:
目录挂载磁盘分区卸载磁盘分区fstrim检测 SSD 是否支持 TRIM检查磁盘状态判断磁盘是SSD还是HDD 挂载磁盘分区 文件系统一般都存在于磁盘上,挂载磁盘分区也可以说是挂载文件系统,卸载磁盘分区也可以说是卸载文件系统。 mount命令将格式化好的磁盘分区挂载到一个目录上 mount /dev
阅读全文
posted @ 2025-01-06 17:28
main_c
阅读(2)
推荐(0)
摘要:
本文拟分享定制qemu虚拟机smbios信息的方法 背景 为虚拟机定制smbios信息,使得可以定制化像dmidecode这种命令查看出来的信息内容。 SMBIOS(System Management BIOS)是由工业化组织DMTF提出的通过系统固件传递管理信息的标准。 在SMBIOS标准中规定了
阅读全文
posted @ 2025-01-06 16:44
main_c
阅读(4)
推荐(0)
摘要:
本文记录下在debian12环境下对显卡进行vfio透传。 背景 环境:debian主机,intel cpu带核显,额外有一NVIDIA GTX1060显卡 目的:将1060显卡透传给windows虚拟机使用 配置检查 内核config检查 内核需要支持vfio, cat /boot/config-
阅读全文
posted @ 2025-01-06 13:49
main_c
阅读(4)
推荐(0)
摘要:
目录简介guestfishlibguestfs项目例子原理代码libguestfs架构参考 简介 guestfish Guestfish 是libguestfs项目中的一个工具软件,提供修改虚机镜像内部配置的功能。它不需要把虚机镜像挂接到本地,而是为你提供一个shell接口,你可以查看、编辑和删除镜
阅读全文
posted @ 2025-01-05 17:08
main_c
阅读(3)
推荐(0)
摘要:
背景 本文尝试对Windows系统中的一些Graphic相关的概念进行介绍和厘清。 windows图形基础架构简介 Windows 为图形提供了多个 API,下图显示了这些 API。 上图出自微软官方https://learn.microsoft.com/en-us/windows/win32/le
阅读全文
posted @ 2025-01-04 21:51
main_c
阅读(1)
推荐(0)
摘要:
目录背景编译安装运行限制使用场景总结参考 背景 Looking Glass 是一款开源应用程序,可以直接使用显卡直通的windows虚拟机。 常见环境是Linux host+windows guest,基本部署结构图: 编译 git clone --recursive https://github.
阅读全文
posted @ 2025-01-04 18:01
main_c
阅读(1)
推荐(0)
摘要:
默认情况下,创建的vm的视频RAM限制为16MB。在win操作系统中分辨率最高就只能调到1024x768。 <video> <model type='cirrus' vram='16384' heads='1' primary='yes'/> <address type='pci' domain='
阅读全文
posted @ 2025-01-03 23:32
main_c
阅读(5)
推荐(0)
摘要:
kill kill命令可以直接给指定pid的进程发送信号,发送的信号类型如下: $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SI
阅读全文
posted @ 2025-01-02 16:10
main_c
阅读(5)
推荐(0)
摘要:
在Linux中,UUID是用来唯一标识一个分区或硬盘的一个字符串。有时候,我们需要修改一个分区或硬盘的UUID,例如在使用多个硬盘时,需要保证每一个硬盘的UUID不同,避免系统中出现相同的UUID导致冲突。 修改UUID需要通过修改文件系统的UUID来实现。不同的文件系统有不同的修改UUID的方法。
阅读全文
posted @ 2025-01-01 21:03
main_c
阅读(5)
推荐(0)
摘要:
目录综合测试unixbenchstresssysbenchPhoronix Test SuiteLinux Kernel Selftestsperf benchlkp-testcpu测试SpecCPU2006SpecCPU2017SPECjbb2015Super PIlinpack内存测试lmben
阅读全文
posted @ 2025-01-01 20:56
main_c
阅读(7)
推荐(0)
摘要:
QEMU监控器(monitor)是QEMU实现与用户交互的一种控制台,一般用于为QEMU模拟器提供较为复杂的功能,包括为客户机添加和移除一些媒体镜像(如CD-ROM、磁盘镜像等),暂停和继续客户机的运行,快照的建立和删除,从磁盘文件中保存和恢复客户机状态,客户机动态迁移,查询客户机当前各种状态参数等
阅读全文
posted @ 2025-01-01 20:27
main_c
阅读(5)
推荐(0)
摘要:
目录NUMA 简介NUMA工具numastatnumadnumactl虚拟化与NUMA查询虚机numa设置利用virsh设置虚机的numa参数利用xml设置虚机的numa参数针对虚机NUMA优化方案测试参考 NUMA 简介 NUMA(Non-Uniform Memory Access,非统一内存访问
阅读全文
posted @ 2025-01-01 20:16
main_c
阅读(3)
推荐(0)
摘要:
virtio概述 KVM是必须使用硬件虚拟化辅助技术(如Intel VT-x、AMD-V)的Hypervisor,在CPU运行效率方面有硬件支持,其效率是比较高的;在有Intel EPT特性支持的平台上,内存虚拟化的效率也较高;有Intel VT-d的支持,其I/O虚拟化的效率也很高。 QEMU/K
阅读全文
posted @ 2025-01-01 19:55
main_c
阅读(4)
推荐(0)
摘要:
本文简单介绍下qemu虚拟机网络的几种配置方式。 通过QEMU的支持,常见的可以实现以下4种网络形式: 基于网桥(bridge)的虚拟网络。 基于NAT(Network Addresss Translation)的虚拟网络。 QEMU内置的用户模式网络(user mode networking)。
阅读全文
posted @ 2025-01-01 19:46
main_c
阅读(8)
推荐(0)