mingw using pthread
转载http://www.cnblogs.com/tfanalysis/p/5505163.html
ftp://sourceware.org/pub/pthreads-win32/
有的时候需要使用多线程来测试代码啥的,在Linux下有pthread,在windows也有。
我这儿是使用MingW作为编译工具,具体如何下载MingW自行在网上搜索。
而pthread是在这里下载的:ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip
将下载来的包解压,然后将Pre-built.2中的include下的文件拷贝到mingw/include中,将lib/x86(或x64)/libpthreadGC2.a拷贝到mingw/lib中。
之后使用的时候,在Eclipse的Linker选项里添加一个新的库pthreadGC2即可了。

下面是源代码:

/*
============================================================================
Name : t3.c
Author : Merlin
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/ #include <stdio.h>
#include <stdlib.h>
#include <pthread.h> #include <windows.h> void *thread1(void *arg)
{
while (1)
{
printf("T1T1T1T1T1T1T1T1T1T1T1\n");
fflush(stdout);
Sleep(1000);
} return NULL;
} void *thread2(void *arg)
{
while (1)
{
printf("T2T2T2T2T2\n");
fflush(stdout);
Sleep(2000);
} return NULL;
} int main(void)
{
void *Tret;
pthread_t Tid1, Tid2; // HWND Wnd;
// Wnd = FindWindow(NULL, "微信");
// if (Wnd)
// {
//// SendMessage(Wnd, WM_CLOSE, 0, 0);
// ShowWindow(Wnd, SW_HIDE);
// Sleep(2000);
// ShowWindow(Wnd, SW_SHOW);
// Sleep(2000);
// ShowWindow(Wnd, SW_HIDE);
// } printf("Hello, this is a example test pthread.\n"); pthread_create(&Tid1, NULL, thread1, NULL); pthread_create(&Tid2, NULL, thread2, NULL); pthread_join(Tid2, &Tret); Sleep(100);
printf("End, this is a example test pthread.\n");
return EXIT_SUCCESS;
}

需要着重说明的函数是pthread_join,功能是等待Tid2线程返回才会继续向下跑。
执行结果:

报错误1:e:\mingw\include\pthread.h:320:8: error: redefinition of 'struct timespec'
那么在GCC C Compiler -> Symbols中添加HAVE_STRUCT_TIMESPEC定义。
如上面的方法不行,那么使用mingw-install-setup.exe添加安装pthread相关的库:

mingw using pthread的更多相关文章
- CodeBlocks配置pthread环境
参考资料:MinGW配置pthread环境 按[参考资料]里说的[下载资源]后,将libpthreadGC2.a放到codeBlocks安装目录下的MinGW\lib目录下,然后将pthread.h ...
- windows下使用pthread
有的时候需要使用多线程来测试代码啥的,在Linux下有pthread,在windows也有. 我这儿是使用MingW作为编译工具,具体如何下载MingW自行在网上搜索. 而pthread是在这里下载的 ...
- Windows下安装MinGW,编译c/c++时出现cannot find -lpthread解决办法
由于Mingw下没有带pthread库,所以在eclipse中设置多线程动态链接库,也不管用.需要自己下载, ftp://sourceware.org/pub/pthreads-win32/pthre ...
- 在Windows下利用MinGW编译FFmpeg
目录 [隐藏] 1 环境与软件 2 第一步:安装MinGW 3 第二步:配置编译环境 4 第三步:配置SDL 5 第四步:编译 5.1 编译faac 5.2 编译fdk-aac 5.3 编译x264 ...
- HOWTO Install the MinGW (GCC) Compiler Suite
Posted July 25th, 2008 by mingwadmin getting started install mingw Automated Installer If you are ne ...
- eclipse mingw cpp开发环境
Eclipse开发c++ 对比:微软的VC++6.0:太老了,对win7兼容不好, 现在微软的Visual Studio:安装包太大,好几个G,装了一堆你不需要的东西,要钱,教 育版申请麻烦 DOS下 ...
- [科普]MinGW vs MinGW-W64及其它
转载:http://tieba.baidu.com/p/3186234212?pid=54372018139&cid=#54372018139 这里也转一下吧. 部分参照备忘录原文: bitb ...
- MinGW 使用 msvcr90.dll
MinGW 编译出来的程序总是使用 VC6 的 msvcrt.dll ,VC8,9,10有很多新的API(仅限于c runtime),想使用怎么办? 比如:boost 对 MinGW 最低要求就是 m ...
- linux下使用mingw编译NSIS-3.03
简述 最近在研究使用NSIS做安装包,语法不算复杂,插件也很多,中文资料也不少,还挺好用的.先后用NSIS做出了安装和卸载需要输入密码,通过自定义页面实现安装时候选择多个目录.安装的时候输入配置文件信 ...
随机推荐
- 解决 Command "python setup.py egg_info" failed with error code 1 问题
参考: "pip install unroll": "python setup.py egg_info" failed with error code 1 解决 ...
- centos 7 已经开启 22 端口但无法连接
已经开启 22 端口但无法连接 刚买的 vps ,默认 ssh 端口是 29488, 使用以下方式连接ssh -p 29488 root@x.x.x.x觉得加端口有点麻烦, 希望使用默认的 22 端口 ...
- URI和URL之间的区别
URI的全称为统一资源标识符(Uniform Resource Identifier),是一个用于标识某一互联网资源名称的字符串. 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交 ...
- android --------- 嵌套unity出现 your hardware does not support this application,sorry!
最近遇见一个这个的问题 ,我在Android端接入Unity3D时出现的问题 问题是打开app直接弹出下面的弹框 点击ok 就退出了 遇到这样的问题 是因为libs文件夹的so文件出现了问题: 解决办 ...
- VUE.js 简单引用
Vue开发的两种方式:静态资源引入开发 和 脚手架交互式开发 这里使用的是静态资源引入开发 首先 引用jquery.js 和 vue.js html 标签内加个 <div id=" ...
- windows 和linux 文件互传
1.sz + 文件 [拷贝到windows上] 2.rz + 文件 [拷贝到linux上]
- 前端页面调用Spring boot接口发生的跨域问题
最近要重构一个基于spring boot的后端API服务,需要再本地测试.在本地测试时,运行在本地的前端页面发送一个ajax请求访问后端API,然后浏览器报错blocked CORS policy. ...
- 『TensorFlow』读书笔记_Word2Vec
由于暂时不会深入接触NLP相关领域,所以本章的内容就不过多涉及了,以后会进行学习,应该. Word2Vec又称Word Embeddings,中文称为"词向量"."词嵌入 ...
- Bupt归队赛, gunfight
只需要关心是否开枪,上个人和当前这个人的位置关系,转移可以前缀和优化 为了不重复,始终认为第一个就是1,最后答案乘以n #include<bits/stdc++.h> using name ...
- Win10系列:C#应用控件基础20
SemanticZoom控件 SemanticZoom控件由相互关联的缩小视图和放大视图所组成,缩小视图用来显示内容的索引,放大视图可以用来显示内容的详细信息,用户可以根据阅读需要在两种视图之间自由切 ...