- 大致流程:
- 开发工具:
cmake和gcc的区别:
GCC是一个编译器套件,它提供了编译多种编程语言(如C、C++、Objective-C、Fortran、Java等)的功能。GCC本身并不直接处理项目的构建过程,而是负责将源代码转换成可执行文件或库文件。当你只有一个源文件需要编译时,可以直接使用GCC命令进行编译。但是,当项目包含多个源文件时,手动使用GCC命令逐个编译会变得复杂且耗时,这时就需要借助构建工具来简化编译过程。
CMake 是一个跨平台的构建工具,它不是一个编译器,而是一个构建系统生成器。CMake通过编写CMakeLists.txt文件来描述项目的构建过程,然后生成适用于不同平台的构建系统文件(如Makefile、Visual Studio项目文件等)。CMake的主要目的是简化大型项目的构建过程,使其能够跨多个平台(如Linux))等)进行编译和构建。
总结来说,GCC是实际的编译器,负责将源代码转换成可执行文件或库文件,而CMake则是一个构建工具,用于自动化项目的构建过程,包括处理多个源文件的编译和链接,以及跨平台兼容性。
QEMU(Quick Emulator)是一个开源的虚拟机监控器和仿真器,它允许在不同的硬件平台上执行虚拟机。它通常用于开发和测试新的操作系统内核。
硬件仿真: QEMU提供硬件仿真,允许在一个虚拟环境中运行不同体系结构的操作系统和应用程序。这意味着您可以在x86主机上运行ARM、RISC-V、MIPS等不同体系结构的操作系统,从而支持跨平台开发和测试。
多平台支持: QEMU支持多种硬件平台和操作系统,包括Linux、Windows、macOS、FreeBSD等。它还支持虚拟化不同的处理器架构,如x86、ARM、RISC-V等。
动态二进制转译: QEMU使用动态二进制转译技术,将来自不同体系结构的指令翻译成主机体系结构的指令,以便在主机上执行虚拟机中的指令。