메뉴 건너뛰기

enjoyTools.net

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

2015.03.03 01:57

꿈돌이 조회 수:5696

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


끝.

번호 제목 글쓴이 날짜 조회 수
38 tailwind css - Unknown at rule unknownAtRules 꿈돌이 2025.04.15 26
37 vscode 한글 끝글자 버그 꿈돌이 2025.01.10 231
36 php7.4 확장 꿈돌이 2024.04.20 157
35 sql server 우분투 클라이언트로 연결 꿈돌이 2023.11.01 144
34 vscode 리눅스에서 실행시 검은 화면 먹통 꿈돌이 2023.10.30 202
33 vscode 워크벤치 화면 이동 단축키 꿈돌이 2023.08.29 155
32 스크롤 할 때 함수명을 위쪽에 딱 붙이기 꿈돌이 2023.06.08 131
31 c_cpp 확장에서 goto definition이 header내 extern 으로만 넘어갈 때 꿈돌이 2023.06.08 3942
30 vscode c_cpp vcformat if else while 줄바꿈 안시키기 꿈돌이 2022.12.29 213
29 vscode 워크벤치 편집창에서 웹폰트 사용하기 꿈돌이 2022.09.21 449
28 vscode italic 설정 꿈돌이 2022.07.01 419
27 vscode 제안항목 트리거 취소 꿈돌이 2022.02.17 549
26 vscode 빈 패널 유지하기 꿈돌이 2021.10.07 280
25 vscode 1.60 이후 bracket pair colorizer 꿈돌이 2021.09.06 360
24 vscode 1.58 이후 편집창에 터미널 띄우기 꿈돌이 2021.07.09 624
23 vscode 1.55 이후 터미널 실행 내꺼 설정 꿈돌이 2021.05.17 257
22 vscode terminal 목록 켜기 꿈돌이 2021.05.07 295
21 VSCode git (Source Control)에 remote 표시 꿈돌이 2020.08.17 586
20 피씨방스튜디오 만들기 #번외6 - 닷넷코어 준비 꿈돌이 2019.01.02 1346
19 피씨방스튜디오 만들기 #번외5 - JSP 준비 꿈돌이 2018.11.01 1206