반응형

전체 글 51

MFC 다이얼로그(Dialog) 스크롤(Scroll) 적용

MFC에서 다이얼로그에 스크롤을 적용하기 위한 코드를 보도록 하자. 우선 리소스에디터에서 해당 다이얼로그의 속성 중 Border 를 Resizing 으로 수정해 놓아야 한다. 그 이후 필요한 것은 크기 변동 이벤트 시 적절한 대응과 스크롤 발생 이벤트 시 적절한 행동을 수행하는 것이다. 우선 WM_SIZE 이벤트에 대한 처리를 진행하자. void TestDlg::OnSize(UINT nType, int cx, int cy) { CDialogEx::OnSize(nType, cx, cy); UpdateScrollInfo(cx, cy); } void TestDlg::UpdateScrollInfo(int cx, int cy) { int nScrollMaxV = 0; int nScrollMaxH = 0; int ..

병렬 프로그래밍 Parallel Programming - parallel_sort

이전 정리글은 2021.12.26 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - parallel_invoke 자. 오늘은 병렬 방식을 이용한 정렬 함수에 대해 알아보자. 첫번째로 알아볼 함수는 parallel_sort 함수이다. 해당 함수는 std::sort 함수의 다중 프로세스 버전이라고 생각하면 될 것 같다. 자 코드를 보자구~!! #include #include #include using namespace std; int _tmain() { vector vecIntegers(100000); generate(begin(vecIntegers), end(vecIntegers), mt19937(79)); concurrency::paral..

병렬 프로그래밍 Parallel Programming - parallel_invoke

이전 정리글은 2021.12.22 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - parallel_for 메리 크리스마스. ~! 예전에는 크리스마스 때 설렘이 있었는데 나이를 먹었나보다. ㅜㅜ 자 오늘은 parallel_invoke 에 대해서 정리해보자구~ parallel_invoke 이 함수는 여러개의 작업을 동시에 실행하고자 다룰 때 유용하다. 언제나 그랬듯이 코드를 보자 ㅎ,.ㅎ #include #include #include using namespace std; template T addself(const T& p) { return p + p; } int _tmain() { int i = 12; short j = 15; doubl..

CLR

CLR managed module compile 프로그래밍 언어들은 서로 다른 기능성과 정점을 가지고 있다. unmanaged c/c++ 의 경우 낮은 수준까지 시스템을 제어할 수 있고 메모리를 어떤 방식으로 사용하고 관리할 것인지 개입할 수 있다. 이와 다르게 VB를 사용하면 사용자 인터페이스를 쉽고 빠르게 COM 제어를 간단하게 이용할 수 있게 해줄 것이다. CLR은 서로 다른 프로그래밍 언어들 사이에서 공용으로 사용하여 실행할 수 있도록 하는 환경을 의미한다. CLR은 어떤 컴파일러를 사용하든 최종 결과물은 managed module이 된다. managed module 의 각 영역에 대한 설명은 다음과 같다. PE32/ PE32+ 헤더 영역 표준 Windows PE 파일 헤더로 공용 객체 파일 형식..

프로그래밍/CLR 2021.12.24

웹에서 수식 입력기 사용하기~

수학 관련 내용을 작성하기 위해서는 수식 작성이 필요한데 찾다보니 괜찮은 사이트가 있었다. 입력하고 변환을 하면 해당 수식을 이미지화해주는 사이트였다. 사이트 주소는 : http://www.sciweavers.org/free-online-latex-equation-editor Online Latex Equation Editor - Sciweavers Online Latex Equation Editor Convert Latex Equations into Images to Embed in Documents Embed Equation in Web Page, Forum, Google Docs, Twitter Render Latex Math Equations into Plain Text ASCII Insert A..

일상 2021.12.24

소멸자 명시적 호출의 주의점 ?

음 메모리 풀을 구현하다 경험한 것을 정리한다. 인터넷에서 검색을 해봐도 잘 보이질 않고 물어볼 사람도 없어서 추정의 글을 적는다. 혹시라도 누군가 본 후 틀렸다면 정보를 제공하면 고마울 것 같다. 일단 코드부터 보자. template class NzOPool { public : NzOPool(int nMaxSize = 20) : m_nMaxSize(nMaxSize){ for(int i =0; i~T(); free(pObj); } } } T* Pop() { T* pRet = nullptr; if( m_queObjs.try_pop( pRet ) == false){ pRet = (T*)malloc( sizeof(T)); ++m_nMaxSize; } new (pRet) T(); //생성자 명시적 호출 retu..

병렬 프로그래밍 Parallel Programming - parallel_for

이전 정리글은 2021.12.20 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - task_group 4번째 병렬 프로그래밍 관련 정리 시간이다. 오늘은 PPL 에서 제공하는 함수 중 parallel_for 에 대해서 알아보자.! parallel_for parallel_for 함수는 인자의 함수가 수행하는 작업이 병렬적으로 수행된다고 생각하면 된다. 몇 개의 스레드가 ? 몇 구간을 나눠서 ? 이런 것은 생각할 필요가 없다. 내부 구현부에서 최적화된 방식으로 작업을 수행한다고 한다. 음.. 이 함수가 쓰이는 곳은 병렬적으로 이루어져야 하는 작업이 데이터를 공유하지 않고 수행될 수 있을 때 유리할 것 같다. 자 코드를 보자. #include..

병렬 프로그래밍 Parallel Programming - task_group

이전 정리글은 2021.12.18 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - when_all, when_any 자 ~! 오늘은 3번째 정리시간이다. 오늘은 task_group 과 structed_task_group 에 대해서 정리해보자. 이 두 클래스는 task를 그룹으로 관리하기 편한 기능을 제공한다. 하나씩 알아가보자.! structed_task_group 우선 structed_task_group 에 대해서 알아보자. 일단 모다? 코드부터 ㅋ #include #include int _tmain() { auto taskone = concurrency::make_task( []{ wcout

병렬 프로그래밍 Parallel Programming - when_all, when_any

이전 정리글은 2021.12.17 - [프로그래밍/Parallel Programming] - 병렬 프로그래밍 Parallel Programming - task 저번 정리에 이어 다시 적는다. 저번 장에서는 task 들의 순서를 결정하기 위해서 task 클래스의 then 함수를 사용하였고 이번에는 다른 방법을 사용해 보고자 한다. 다른 방법은 우선 예제 코드를 보자. 보통 이쪽 ? 계열 사람들은 글보단 코드가 친숙할 것이라 생각한다. :0 나만 해당할 수도 있다. #include #include int _tmain() { auto taskone = concurrency::create_task( [](){ wcout taskthree !!!! 여기서 기존의 then 을 사용할 때와 다르게 확인해야 할 부분이..

반응형