温馨提示×

如何在ubuntu上编译c++多线程程序

小樊
81
2024-09-25 08:18:13
栏目: 编程语言

在Ubuntu上编译C++多线程程序,你可以使用g++编译器和C++11标准中的<thread>库。下面是一个简单的步骤说明:

  1. 首先,确保你的系统已经安装了g++编译器。你可以通过在终端中输入以下命令来检查:
g++ --version

如果g++没有安装,你可以使用以下命令来安装:

sudo apt update
sudo apt install g++
  1. 创建一个C++源文件,例如main.cpp,并在其中编写多线程代码。下面是一个简单的示例,展示了如何使用C++11的<thread>库创建两个线程:
#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. 打开终端,导航到包含main.cpp文件的目录,然后使用g++编译器编译该文件。确保在编译命令中指定-std=c++11选项以启用C++11标准支持,并链接-pthread选项以启用多线程支持:
g++ -std=c++11 -pthread main.cpp -o main

这将生成一个名为main的可执行文件。

  1. 最后,在终端中运行编译生成的可执行文件:
./main

你应该会看到类似以下的输出,显示了两个线程交替打印消息:

Hello from thread 0x7ffcc2b3a710
Hello from thread 0x7ffcc2b3a740
Hello from thread 0x7ffcc2b3a710
Hello from thread 0x7ffcc2b3a740

0