메뉴 건너뛰기

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 php7.4 확장 꿈돌이 2024.04.20 0
35 sql server 우분투 클라이언트로 연결 꿈돌이 2023.11.01 20
34 스크롤 할 때 함수명을 위쪽에 딱 붙이기 꿈돌이 2023.06.08 35
33 vscode 워크벤치 화면 이동 단축키 꿈돌이 2023.08.29 37
32 vscode 리눅스에서 실행시 검은 화면 먹통 꿈돌이 2023.10.30 39
31 vscode c_cpp vcformat if else while 줄바꿈 안시키기 꿈돌이 2022.12.29 66
30 vscode 빈 패널 유지하기 꿈돌이 2021.10.07 71
29 vscode terminal 목록 켜기 꿈돌이 2021.05.07 72
28 vscode 1.55 이후 터미널 실행 내꺼 설정 꿈돌이 2021.05.17 79
27 vscode 워크벤치 편집창에서 웹폰트 사용하기 꿈돌이 2022.09.21 158
26 vscode 1.60 이후 bracket pair colorizer 꿈돌이 2021.09.06 159
25 vscode 제안항목 트리거 취소 꿈돌이 2022.02.17 161
24 vscode italic 설정 꿈돌이 2022.07.01 177
23 vscode 1.58 이후 편집창에 터미널 띄우기 꿈돌이 2021.07.09 247
22 VSCode git (Source Control)에 remote 표시 꿈돌이 2020.08.17 337
21 피씨방스튜디오 만들기 #번외2 - PostgreSQL 준비 꿈돌이 2017.11.02 560
20 피씨방스튜디오에서 vscode 업데이트 꿈돌이 2018.09.06 576
19 VSCode 터미널에서 - Powershell 프롬프트 경로 짧게 하기 꿈돌이 2018.06.29 632
18 피씨방스튜디오 만들기 #번외6 - 닷넷코어 준비 꿈돌이 2019.01.02 633
17 피씨방스튜디오 만들기 #번외3 - Python(3.x) 준비 꿈돌이 2018.03.16 681