메뉴 건너뛰기

enjoyTools.net

C/C++ CDT/MinGW32에서 pthread 사용하기

2015.03.03 01:57

꿈돌이 조회 수:5411

1. http://sourceware.org/pthreads-win32/ 또는 ftp://sourceware.org/pub/pthreads-win32 에서 pthreads-w32-2-9-1-release.zip을 다운로드.


2. 압축 풀고, Pre-built.2 폴더로 이동.


3. 아래와 같이 폴더에 파일 복사

 - dll/x86/pthreadGC2.dll, pthreadGCE2.dll > %MinGW설치폴더%/bin

(MinGW폴더에 기존 dll파일이 존재하므로 덮어씌우거나 따로 백업해둔다.)

 - include/* >%MinGW설치폴더%/include

 - lib/x86/libpthreadGC2.a, libpthreadGCE2.a > %MinGW설치폴더%/lib


4. 아래 코드로 프로젝트 만들어서 테스트

#include <stdio.h>
#include <pthread.h>

void* hello(void* id) {
 printf("%d: Hello world!\n", *((int*) id));
 return 0;
}

int main(int argc, char* argv[]) {
 const int COUNT = 5;
 int i;
 pthread_t thread[COUNT];
 int ids[COUNT];
 for (i = 0; i < COUNT; i++) {
  ids[i] = i;
  int retval = pthread_create(&thread[i], NULL, hello, &ids[i]);
  if (retval) {
   perror("pthread_create failed");
   return 1;
  }
 }
 for (i = 0; i < COUNT; i++) pthread_join(thread[i], NULL);
 return 0;
}


5. 오류 발생하면, MinGW C Linker 설정에 pthreadGC2 (-lpthreadGC2 옵션) 추가.

2015-03-03 01-55-36 Properties for thread.png


6. 빌드 후 실행할 때 오류나면, 실행파일의 환경변수에 dll 경로 추가

2015-03-03 01-57-07 Run Configurations.png


소스: HowToGuide-POSIX.pdf


사족: GTK 이벤트 처리 방법을 알아보면서 같이 본 건데, 좀 더 살펴보니 필요 없음.


끝.

번호 제목 글쓴이 날짜 조회 수
36 이클립스 최소판을 포터블형식으로 만들기 file 꿈돌이 2015.02.22 1258
35 CDT(c c++ development tools) 및 MinGW / MSYS 설정 file 꿈돌이 2015.02.26 3435
34 GTK+ 3 설정 file 꿈돌이 2015.03.01 2010
» C/C++ CDT/MinGW32에서 pthread 사용하기 file 꿈돌이 2015.03.03 5411
32 External tools, Run 설정 이전 꿈돌이 2016.06.02 686
31 VSCode 다중커서 꿈돌이 2017.02.28 19487
30 VSCode 외 웹서버 및 node.js 등 포터블 설정 백업 꿈돌이 2017.03.21 903
29 피씨방스튜디오 만들기 #1/4 - vscode 포터블 설정 file 꿈돌이 2017.09.07 1890
28 피씨방스튜디오 만들기 #2/4 - MariaDB, HeidiSQL 준비 file 꿈돌이 2017.09.07 779
27 피씨방스튜디오 만들기 #3/4 - NginX, PHP 준비 꿈돌이 2017.09.08 751
26 피씨방스튜디오 만들기 #4/4 - 취합 및 마무리 file 꿈돌이 2017.09.08 764
25 피씨방스튜디오 만들기 #번외1 - Node.js 준비 꿈돌이 2017.09.19 686
24 피씨방스튜디오 만들기 #번외2 - PostgreSQL 준비 꿈돌이 2017.11.02 560
23 피씨방스튜디오 만들기 #번외3 - Python(3.x) 준비 꿈돌이 2018.03.16 681
22 VSCode 터미널에서 - Powershell 프롬프트 경로 짧게 하기 꿈돌이 2018.06.29 631
21 피씨방스튜디오 만들기 #번외4 - Go 준비 file 꿈돌이 2018.07.14 879
20 vscode offline mode 설정 항목 꿈돌이 2018.08.18 3481
19 피씨방스튜디오에서 vscode 업데이트 꿈돌이 2018.09.06 574
18 피씨방스튜디오 만들기 #번외5 - JSP 준비 꿈돌이 2018.11.01 683
17 피씨방스튜디오 만들기 #번외6 - 닷넷코어 준비 꿈돌이 2019.01.02 633