使用clang++ 的 cpp23 module 特性

分享
//module-hello.cpp
module;
#include <iostream>
export module Hello;
export void hello() {
  std::cout << "Hello World!\n";
}
//use-module-hello.cpp
import Hello;
int main() {
  hello();
  return 0;
}

现在我们写了模块hello.pcm 和一个导入模块并调用函数的程序

接下来先编译,然后链接,按照以下步骤进行操作


PS /home/bakamake/dev/c> clang++ -std=c++20 -x c++-module module-hello.cpp --precompile -o Hello.pcm
PS /home/bakamake/dev/c> clang++ -std=c++20 use-module-hello.cpp -fprebuilt-module-path= (Get-ChildItem Hello.pcm).fullname -o Hello.o
PS /home/bakamake/dev/c> /usr/bin/ls Hello*
Hello.o  Hello.pcm
PS /home/bakamake/dev/c> ./Hello.o
Hello World!
PS /home/bakamake/dev/c>

阅读更多

Ubuntu KVM-QEMU-libvirt HEW

本文记录在Ubuntu系统中配置虚拟化环境的完整过程,包括libvirt、KVM、QEMU等核心组件的安装与验证。 一、方案 虚拟化方案:KVM + QEMU + libvirt 二、安装虚拟化组件 2.1 安装基础虚拟化工具 sudo apt update sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils 2.2 验证KVM支持 egrep -c '(vmx|svm)' /proc/cpuinfo 输出大于0表示CPU支持硬件虚拟化。 2.3 启动libvirt服务 sudo systemctl enable libvirtd sudo systemctl start libvirtd sudo

By bakamake