Clang在Ubuntu上的多线程编译

1006
2024/9/20 15:31:52
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Clang是一个基于LLVM的C/C++/Objective-C/Objective-C++编译器,它提供了出色的性能和诊断能力

  1. 首先,确保你的Ubuntu系统已经安装了Clang。如果没有,可以使用以下命令安装:
sudo apt update
sudo apt install clang
  1. 创建一个简单的C++源文件,例如main.cpp
#include <iostream>
#include <thread>

void print_hello() {
    std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;
}

int main() {
    std::thread t1(print_hello);
    std::thread t2(print_hello);

    t1.join();
    t2.join();

    return 0;
}
  1. 使用Clang编译这个源文件,并使用-std=c++11选项启用C++11支持(如果你的编译器版本较新,可能不需要这个选项):
clang++ -std=c++11 main.cpp -o main -pthread

这里,-pthread选项告诉Clang使用POSIX线程库(libpthread),以便在编译时启用多线程支持。

  1. 运行编译后的程序:
./main

你应该会看到类似以下的输出:

Hello from thread 0x7fff3b9a6710
Hello from thread 0x7fff3b9a6740

这表明程序成功地创建了两个线程,并在它们之间共享了执行。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu如何查看硬盘型号