CM3:qemu执行汇编 正文环境:macOS M1。前文讨论了 qemu 模拟8086 的平台运行8086 汇编代码,本文将讨论 qemu 模拟arm 平台运行 CM3 代码。代码: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162.sy 2024-04-27 CM3 #汇编 #QEMU #CM3
8086:qemu执行汇编 正文环境:macOS M1。 QEMU(Quick EMUlator)是一个开源的虚拟机监视器,可以模拟多种硬件平台,包括处理器架构、设备和操作系统。QEMU具有以下主要功能和用途: 硬件模拟器:QEMU可以模拟多种处理器架构,如x86、ARM、MIPS等,以及各种设备,如网络适配器、显卡、存储设备等。这使得开发人员可以在虚拟环境中测试和调试他们的软件,而无需实际硬件设备。 虚拟机管理:Q 2024-04-26 8086 #汇编 #QEMU #8086
C++:函数符(一) 正文函数对象也叫函数符,函数符是可以以函数方式与()结合使用的任意对象。这包括函数名、指向函数的指针和重载了()运算符的类对象。 上面这句话的意思是指:函数名、指向函数的指针和重载了括号运算符的类对象与括号结合,从而以函数方式实现某种功能。对于 for_each(),第三个参数我们一般可以写一个函数名,或者类的对象(该类必须对括号运算符进行了重载),但是不可以为一个函数指针,因为函数指针的类型 2024-04-24 C++ #c++
C++:适配器 正文当两个类的接口不兼容时,可以使用适配器模式将一个类的接口适配成另一个类的接口,使它们可以协同工作。下面是一个简单的示例,展示如何使用适配器模式将一个旧的类的接口适配成一个新的类的接口: 假设有一个旧的类 OldClass,它有一个名为 oldMethod 的方法,但我们希望将其适配成一个新的类 NewClass,并且新类中有一个名为 newMethod 的方法。我们可以使用适配器模式来实现 2024-04-24 C++ #c++ #开发语言
C++:迭代器 〇、前言在C++中,STL(标准模板库)提供了一组强大的数据结构和算法,其中使用了迭代器来实现数据访问和操作的通用接口。 迭代器是一种行为类似指针的对象,它允许对容器中的元素进行迭代(遍历)。STL定义了几种迭代器类型,包括输入迭代器、输出迭代器、前向迭代器、双向迭代器和随机访问迭代器。这些迭代器类型具有不同的功能和约束条件,使得它们适用于不同类型的数据结构和操作。 关于概念,它在C++中是一 2024-04-23 C++ #c++ #开发语言
C++:智能指针(二) 正文为什么要设计智能指针?看看下面的例子: 12345678910111213141516171819202122232425262728293031323334#include <iostream>#include <memory>#include <string>using namespace std;void memoryLeak1() { 2024-04-21 C++ #c++ #开发语言
C++:智能指针(一) 正文关于这个例子: 1234567891011121314151617181920#include <iostream>#include <memory>#include <string>std::unique_ptr<std::string> demo(const char *s) { std::unique_ptr<st 2024-04-21 C++ #c++ #开发语言
C++:返回值优化 正文对于返回一个对象的函数,它在返回后前,应该在栈外用复制构造函数创建一个临时对象t2,然后返回 t1,随后 t1 在栈内被析构掉,t2 被传回。如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344#include <iostream>#include <stri 2024-04-17 C++ #c++ #开发语言
C++:异常处理 异常处理中对象参数与引用参数的选择User: catch()中的参数如果使用基类的引用,是不是相当于声明了一个引用,它是基类类型的,catch 到 throw的抛出的对象之后,就相当于这个基类引用指向了抛出的对象? ChatGPT: 是的,你说得很对。当在 catch 块中使用基类的引用作为参数时,相当于声明了一个引用,它是基类类型的。当程序抛出一个异常并且在调用栈中找到匹配的 catc 2024-04-17 C++ #c++ #开发语言 #学习笔记
C++:弃值表达式 正文有时候需要利用某些表达式的副作用来实现某些目的: 12345678910#include <iostream>template <typename... Args>void print(const Args &...args) { Arr{0,(std::cout << args<< ' ' 2024-04-11 C++ #c++