`
lslin
  • 浏览: 6106 次
  • 性别: Icon_minigender_1
  • 来自: 茂名
最近访客 更多访客>>
社区版块
存档分类
最新评论

在Windows下使用Dev-C++开发基于pthread.h的多线程程序

阅读更多
    一直都是使用Dev-Cpp5编写C/C++程序,感觉小巧方便。
    不过,在学习C++的多线程编程的时候,发现添加“#include <phread.h>”时,编译器会提示找不到pthread.h文件。
    搜索了一下,发现原来Dev-Cpp虽然内置的是MinGW编译器,但是没有包含pthread.h库文件,如果要在Windows下使用Dev开发多线程,需要另外添加pthread。
    具体方法如下:
   
  • 一、下载Windows版本的pthread

    目前最新版本是:pthreads-w32-2-8-0-release.exe。
    主页地址:http://sourceware.org/pthreads-win32/
    ftp地址:[url]ftp://sourceware.org/pub/pthreads-win32/ [/url]
   
  • 二、解压pthread到指定目录

    双击pthreads-w32-2-8-0-release.exe,会出现解压对话框,
    "browse"选择指定目录,"extract"解压,"done"完成。
     我选择的目录是:D:\Program Files\DEV-CPP\Pthread
    截图如下:



    完成后,该目录会多出三个文件夹:。Pre-built.2,pthreads.2,QueueUserAPCEx。
         
  • 三、配置Dev-C++编译选项
    以中文版的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,添加。



         
  • 四、配置Dev-C++当前工程属性
    提示:如果是在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;  
}



参考:
江義華的部落格(cyh's blog)中也有说到这个问题,不过需要代理才能访问,且图片失效。
http://tw.myblog.yahoo.com/yh-chiang/article?mid=-2&next=692&l=f&fid=9
  • 大小: 27 KB
  • 大小: 53.7 KB
  • 大小: 43.3 KB
  • 大小: 39.1 KB
0
0
分享到:
评论

相关推荐

    Windows下使用Dev-C++开发基于pthread.h的多线程程序实例

    总结而言,Windows下使用Dev-C++开发基于pthread.h的多线程程序实例涉及了以下知识点: 1. 下载并安装适用于Windows的pthread库(pthreads-w32)。 2. 解压pthread库到合适的位置,并注意解压后的文件结构。 3. ...

    C++ 多线程 实例源码

    这个实例是用C++ 模拟机场控制台程序 机场有2个跑道,一个用于降落,一个用于起飞,还有一组运输队对...本程序的运行环境是windows下的DEV C++,得添加pthread.h,方能运行此程序,希望对想学习多线程的童鞋有帮助,谢谢

    多线程端口扫描源码(源代码详细注释)

    多线程的创建通常涉及到操作系统提供的线程API,如在Windows上的CreateThread或Linux上的pthread_create。在源代码中,我们需要查看如何定义线程函数(线程入口点),以及如何调用相应的API来启动新的线程。 2. **...

    C、C++语言线程库的使用

    在 C 语言中,使用线程库来实现多线程编程需要包含头文件 `&lt;pthread.h&gt;`,并使用 `-pthread` 选项来链接线程库。在使用线程库时,需要了解线程的基本概念,如线程的创建、线程的同步、线程的通信等。 线程的创建...

    procom.rar_Windows编程_Dev_C++_

    通过分析这个项目,我们可以学习如何在C语言环境下使用线程同步机制解决并发问题,这对于理解多线程编程和提升系统效率至关重要。同时,这个项目也提供了练习和调试多线程代码的机会,这对于任何希望深入学习操作...

    cuild-figure.rar_进程与线程_Dev_C++_

    标题 "cuild-figure.rar_进程与线程_Dev_C++_" 暗示这是一个关于编程的资源包,其中包含了使用Dev C++开发的程序,重点是理解和应用进程与线程的概念。Dev C++是一个集成开发环境(IDE),适用于C和C++编程语言,而...

    linux 串口类(c/c++)

    - 示例代码还包含了互斥锁的使用,确保了多线程环境下的安全性。 以上就是关于Linux环境下串口编程的主要知识点,这些知识点涵盖了串口设备的应用背景、基本概念以及具体的编程实践。希望这些内容能够帮助你更好地...

    Android NDK 开发的官方文档(android ndk dev guide)

    Android的JNIEnv对象在多线程环境下需要特别处理,确保每个线程都有自己的JNIEnv实例。 **9. 资源管理** 原生代码也可以访问Android资源,如字符串、图片等,但需要通过特定的API,如AAssetManager。同时,处理文件...

    多线程实用指南-第2部分

    在IT行业中,多线程是实现并发执行任务的关键技术,尤其在现代计算机系统中,它已经成为提高程序性能和用户体验的必备工具。本指南主要聚焦于多线程在实际应用中的运用,涵盖C#、C++、.NET、Linux、Windows、MFC、...

    基于linux系统带摄像头的手电筒应用程序

    在Linux系统中,开发一个基于摄像头的手电筒应用程序是一项涉及多方面技术的挑战。这个程序不仅需要控制设备的LED灯来模拟手电筒的功能,还要能够利用摄像头进行实时监控、截图以及图片上传等功能。以下是对这个项目...

    多线程实用指南-第1部分

    本文将深入探讨多线程的实用指南,尤其关注C#、C++以及.NET框架下的应用,同时也提及了Linux、Windows操作系统环境中的多线程实践。我们将从以下几个方面展开讨论: 1. **多线程基础**:多线程是指一个应用程序同时...

    gw_main.cpp.tar.gz_linux 守护

    总之,"gw_main.cpp"源代码文件揭示了一个基于C++和pthread的Linux守护进程实现,它的主要任务可能是维持某种服务的稳定运行,通过多线程提升效率,并通过适当的错误处理和日志记录确保系统的可靠性。

    Linux编程白皮书

    4. **线程编程**:理解多线程的概念,掌握pthread库的使用,包括线程的创建、同步(互斥锁、条件变量)和通信。 5. **I/O操作**:熟悉标准输入输出、文件操作和网络套接字编程,学习缓冲I/O、非阻塞I/O和异步I/O...

    基于ffmpeg摄像头同步截图

    描述中提到“在Linux下开发的基于ffmpeg摄像头同步截图代码,保存成一帧一帧的图片”,这表明我们需要编写C++程序(由camera.cpp文件代表)来调用FFmpeg库的API,实现在Linux环境中实时从摄像头抓取图像,并将每一帧...

    QQ2440的linux下各源代码位置

    - `pthread`:多线程编程示例 - `udptalk`:UDP通信示例 通过以上详细介绍,我们可以看出QQ2440开发板在Linux环境下的源代码组织结构清晰、功能齐全,为开发者提供了丰富的资源和支持。这对于学习嵌入式系统开发...

    LINUX编程白皮书

    2. ** 多线程编程**:利用pthread库,可以在Linux上创建并管理多线程,实现并发处理。线程同步机制,如互斥锁、条件变量,也是必不可少的知识。 3. ** 设备驱动编程**:对于底层硬件交互,如GPIO、I2C、SPI等,需要...

    Linux编程从入门到精通

    - **多线程编程**:掌握pthread库,理解线程同步机制,如互斥锁、信号量、条件变量。 5. **网络编程** - **套接字编程**:学习socket接口,实现客户端-服务器通信,理解TCP/IP协议栈。 - **HTTP协议**:了解HTTP...

Global site tag (gtag.js) - Google Analytics