在CentOS上捣鼓C++多线程开发,其实没那么复杂,关键就是先把编译器和必要的库准备好。下面这几步,基本能覆盖大部分场景,跟着走一遍就行。

检查并安装GCC编译器
CentOS默认一般都带GCC,但保险起见,先跑个命令看看它是不是已经在岗了:gcc --version如果提示“命令未找到”或者版本太老,那就用yum装一下:
sudo yum install gcc装上C++标准库
光有GCC还不够,C++标准库(尤其是libstdc++的开发版)也得安排上,不然很多头文件会找不到:sudo yum install libstdc++-devel打开多线程开关
编译C++代码时,必须明确告诉编译器要用C++11(或更新)的标准,并且开启pthread线程支持。命令里加两个参数就行:-std=c++11和-pthread。假如你的源文件叫main.cpp,编译命令就是:g++ -std=c++11 -pthread main.cpp -o myprogram如果你追新,也可以用
-std=c++17甚至-std=c++20,只要编译器支持就行。写一段多线程代码练练手
在代码里包含头文件,就能用std::thread了。这里给个最简单的例子:#include#include void helloFunction() { std::cout << "Hello from a thread!" << std::endl; } int main() { std::thread t(helloFunction); t.join(); // 等线程跑完再退出 return 0; } 跑起来看看
编译链接成功后,直接运行生成的可执行文件:./myprogram如果一切顺利,你会在终端看到那句“Hello from a thread!”。
万一遇到编译报错,多半是GCC版本太老,不支持C++11的线程特性。这时候升级一下GCC就行:
sudo yum update gcc
另外,如果程序里用到了其他第三方库(比如Boost、OpenMP),记得一并安装并在编译时用-l参数链接。总之,先把基础环境搭好,后面的事情就顺理成章了。