메뉴 건너뛰기

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 이벤트 처리 방법을 알아보면서 같이 본 건데, 좀 더 살펴보니 필요 없음.


끝.

번호 제목 글쓴이 날짜 조회 수
35 sql server 우분투 클라이언트로 연결 꿈돌이 2023.11.01 19
34 vscode 리눅스에서 실행시 검은 화면 먹통 꿈돌이 2023.10.30 38
33 vscode 워크벤치 화면 이동 단축키 꿈돌이 2023.08.29 36
32 스크롤 할 때 함수명을 위쪽에 딱 붙이기 꿈돌이 2023.06.08 34
31 c_cpp 확장에서 goto definition이 header내 extern 으로만 넘어갈 때 꿈돌이 2023.06.08 2142
30 vscode c_cpp vcformat if else while 줄바꿈 안시키기 꿈돌이 2022.12.29 63
29 vscode 워크벤치 편집창에서 웹폰트 사용하기 꿈돌이 2022.09.21 155
28 vscode italic 설정 꿈돌이 2022.07.01 168
27 vscode 제안항목 트리거 취소 꿈돌이 2022.02.17 161
26 vscode 빈 패널 유지하기 꿈돌이 2021.10.07 71
25 vscode 1.60 이후 bracket pair colorizer 꿈돌이 2021.09.06 158
24 vscode 1.58 이후 편집창에 터미널 띄우기 꿈돌이 2021.07.09 244
23 vscode 1.55 이후 터미널 실행 내꺼 설정 꿈돌이 2021.05.17 78
22 vscode terminal 목록 켜기 꿈돌이 2021.05.07 72
21 VSCode git (Source Control)에 remote 표시 꿈돌이 2020.08.17 336
20 피씨방스튜디오 만들기 #번외6 - 닷넷코어 준비 꿈돌이 2019.01.02 632
19 피씨방스튜디오 만들기 #번외5 - JSP 준비 꿈돌이 2018.11.01 683
18 피씨방스튜디오에서 vscode 업데이트 꿈돌이 2018.09.06 573
17 vscode offline mode 설정 항목 꿈돌이 2018.08.18 3480
16 피씨방스튜디오 만들기 #번외4 - Go 준비 file 꿈돌이 2018.07.14 879