C/C++ CDT/MinGW32에서 pthread 사용하기
2015.03.03 01:57
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 옵션) 추가.
6. 빌드 후 실행할 때 오류나면, 실행파일의 환경변수에 dll 경로 추가
사족: GTK 이벤트 처리 방법을 알아보면서 같이 본 건데, 좀 더 살펴보니 필요 없음.
끝.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
16 | 피씨방스튜디오 만들기 #번외2 - PostgreSQL 준비 | 꿈돌이 | 2017.11.02 | 560 |
15 | VSCode git (Source Control)에 remote 표시 | 꿈돌이 | 2020.08.17 | 337 |
14 | vscode 1.58 이후 편집창에 터미널 띄우기 | 꿈돌이 | 2021.07.09 | 246 |
13 | vscode italic 설정 | 꿈돌이 | 2022.07.01 | 173 |
12 | vscode 제안항목 트리거 취소 | 꿈돌이 | 2022.02.17 | 161 |
11 | vscode 1.60 이후 bracket pair colorizer | 꿈돌이 | 2021.09.06 | 159 |
10 | vscode 워크벤치 편집창에서 웹폰트 사용하기 | 꿈돌이 | 2022.09.21 | 157 |
9 | vscode 1.55 이후 터미널 실행 내꺼 설정 | 꿈돌이 | 2021.05.17 | 79 |
8 | vscode terminal 목록 켜기 | 꿈돌이 | 2021.05.07 | 72 |
7 | vscode 빈 패널 유지하기 | 꿈돌이 | 2021.10.07 | 71 |
6 | vscode c_cpp vcformat if else while 줄바꿈 안시키기 | 꿈돌이 | 2022.12.29 | 65 |
5 | vscode 리눅스에서 실행시 검은 화면 먹통 | 꿈돌이 | 2023.10.30 | 39 |
4 | vscode 워크벤치 화면 이동 단축키 | 꿈돌이 | 2023.08.29 | 37 |
3 | 스크롤 할 때 함수명을 위쪽에 딱 붙이기 | 꿈돌이 | 2023.06.08 | 35 |
2 | sql server 우분투 클라이언트로 연결 | 꿈돌이 | 2023.11.01 | 20 |
1 | php7.4 확장 | 꿈돌이 | 2024.04.20 | 0 |