一直都是使用Dev-Cpp5编写C/C++程序,感觉小巧方便。
不过,在学习C++的多线程编程的时候,发现添加“#include <phread.h>”时,编译器会提示找不到pthread.h文件。
搜索了一下,发现原来Dev-Cpp虽然内置的是MinGW编译器,但是没有包含pthread.h库文件,如果要在Windows下使用Dev开发多线程,需要另外添加pthread。
具体方法如下:
目前最新版本是:pthreads-w32-2-8-0-release.exe。
主页地址:
http://sourceware.org/pthreads-win32/
ftp地址:[url]ftp://sourceware.org/pub/pthreads-win32/ [/url]
双击pthreads-w32-2-8-0-release.exe,会出现解压对话框,
"browse"选择指定目录,"extract"解压,"done"完成。
我选择的目录是:D:\Program Files\DEV-CPP\Pthread
截图如下:
完成后,该目录会多出三个文件夹:。Pre-built.2,pthreads.2,QueueUserAPCEx。
以中文版的Dev-C++为例:
1)点击“工具”→“编译选项”→“目录”→“c++包含文件”,浏览到刚才解压的pthread目录,选择D:\Program Files\DEV-CPP\Pthread\Pre-built.2\include,添加。
2)点击“工具”→“编译选项”→“目录”→“库”,浏览到刚才解压的pthread目录,选择D:\Program Files\DEV-CPP\Pthread\Pre-built.2\lib,添加。
提示:如果是在DevCpp中新建一个文件,“工程-工程属性”是不可用的,所以,应该先新建一个工程,然后再在该工程中添加多线程的文件。
点击“工程”→”工程属性”→“参数”→“加入库或者对象”,选中D:\Program Files\DEV-CPP\Pthread\Pre-built.2\lib\libpthreadGC2.a,确定。
到此,DevCpp的多线程编程环境配置完毕,添加代码即可。
示例:
- //日期:2010.9.30 作者:烟过留声
- #include <iostream>
- #include <pthread.h>
- #include <stdlib.h>
-
- using namespace std;
-
- void* MyFunc(void* arg)
- {
- cout<<"the child thread."<<endl;
- return NULL;
- }
-
- int main(int args, char* argv[])
- {
- pthread_t tid;
- cout<<"in the main thread."<<endl;
- pthread_create(&tid, NULL, MyFunc, NULL);
- cout<<"return to the main thread."<<endl;
- system("pause");
- return 0;
- }