본문 바로가기

C++3

STL - Vector 삽입/삭제/정렬/복사 등 사용법 예제 임베디드 쪽 개발하는 현업에서 뛰다 보니 STL을 쓰지 않고 필요 기능만 구현해서 쓴다. 이직을 준비중인데 STL 사용법들이 잘기억나지 않아 복기 겸 정리해보고자 한다. 기본 동작 vector v; vector v(5); // 초기화 0, 5칸 vector v(5, 1); // 초기화 1, 5칸 v.push_back(1); // 마지막에 삽입 v.pop_back(); // 마지막 원소 제거 v.clear(); // 모두 제거 v.insert(1,2,3);// 1번째 위치에 3값을 2개 삽입 v.insert(1,2);// 1번째 위치에 2값을 삽입 v.erase(iter);// iter가 가르키는 놈을 삭제 v.erase(iter1, iter2);// iter1부터 iter2가 까지 범위 삭제 v.empt.. 2021. 3. 10.
OpenMP(2) - 입문자용 주요 사용법 간단한 설명/정리(omp single, master, task, taskwait, barrier) 저번 글에 이어서 몇 가지 더 사용법 정리. 사용법 1. omp single #pragma omp single // 하나의 thread만 실행한다. 다른 thread는 기다린다. #pragma omp single nowait // 하나의 thread만 실행한다. 다른 thread는 기다리지 않는다. 하나의 쓰레드만 동작하게 한다. 초기화나 출력부처럼 병렬 처리가 필요 없는 부분에서 용이하다. 2. omp master #pragma omp master // master thread만 실행한다. 다른 thread는 기다리지 않고 넘어간다. single과 매우 유사하지만 master thread 하나만 동작한다. 또한, 다른 쓰레드는 기다리지 않고 다음 부분을 실행한다. 3. omp task #pragma o.. 2020. 7. 31.
OpenMP(1) - 입문자용 주요 사용법 간단한 설명/정리(omp parallel, for, atomic,critical) 매일 GPU나 분산 컴퓨팅으로 병렬 처리만 하다가, 오랜만에 단일 cpu환경에서 thread로 병렬 처리를 해야 할 일이 생겼다. 학습하는 김에 주요 사용법을 정리해보고자 한다. 개발 환경 C/C++ OpenMP 5.0 API 사용법 1. omp parallel 기본 사용법 #pragma omp parallel //병렬 처리 할 한줄 #pragma omp parallel { /* 병렬 처리 할 여러줄 */ } 다음 한 줄이나 다음에 오는 중괄호에 묶인 구문을 병렬로 실행한다. thread 수만큼 실행된다. 옵션 #pragma omp parallel if(condition) #pragma omp parallel num_threads(n) #pragma omp parallel private(a) #pragm.. 2020. 7. 24.