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

avatar
作者
筋斗云
阅读量:0

在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 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!