소연의_개발일지
article thumbnail
[C++] 멀티 쓰레드, 프로세스, 쓰레드 이해하기, C++ 예제
개발공부/C++ 2023. 9. 20. 20:55

쓰레드 공부 공부 출처: 모두의 코드 C++ 쓰레드 https://modoocode.com/269 씹어먹는 C ++ - 모두의 코드 씹어먹는 C ++ - 작성일 : 2019-04-01 이 글은 115087 번 읽혔습니다. 에 대해 다룹니다. 안녕하세요 여러분! 이번 강좌에서는 여태까지 modoocode.com 이 페이지를 스스로 공부하기 위해 요약한 것입니다. 자세한 내용은 위 링크를 참고하세요. 멀티 쓰레드 프로그램 작업 관리자 프로그램에는 여러 프로세스들이 실행되고 있는 모습을 확인할 수 있다. 프로세스란, 운영체계에서 실행되는 프로그램의 최소 단위라고 보면 된다. 즉, 우리가 1개의 프로그램을 가리킬 때 보통 1개의 프로세스를 의미하는 경우가 많다. 이 프로세스들은 컴퓨터의 두뇌라고 하는 CPU의 ..

article thumbnail
[C++] MFC 다이얼로그 중심에 원 그리기
개발공부/C++ 2023. 9. 20. 15:03

라인에딧 값을 가져와서 검은 원을 그리는 코드를 그리며 공부해 보았다. 전체 코드 using namespace std; void CProDrawCircleDlg::OnBnClickedButton1() { CClientDC dc(this); // 라인에딧 값 가져오기 = 원의 반지름 가져오기 CString mText; mEdit.GetWindowText(mText); int r = _wtoi(mText.GetBuffer()); // 반지름 mText.ReleaseBuffer(); cout 0730(목) 강좌 리뷰~ 함수 vs 매크로 함수 : 함수는 분기(call)가 일어나서 실행된다.매크로 : 매크로에 지정된 루틴이 매크로가 사용된 지점(inline 키워드 사용)에 치환된다. 성능차이 - Size : Sp..

[C++] <chrono> 헤더 사용하여 함수 실행시간 측정
개발공부/C++ 2023. 9. 19. 21:38

chrono 헤더 사용하여 c++ 함수 측정 시간을 측정하기 다음은 간단한 예제이다. #include #include // 시간 관련 기능을 포함하는 헤더 void someFunction() { // 이 함수에서는 1초 동안 멈춥니다. 실제 코드에서는 당신의 함수 로직을 넣어주세요. std::this_thread::sleep_for(std::chrono::seconds(1)); } int main() { // 시작 시간 측정 auto start = std::chrono::high_resolution_clock::now(); // 함수 실행 someFunction(); // 종료 시간 측정 auto stop = std::chrono::high_resolution_clock::now(); // 경과 시간 계..

article thumbnail
[C++] 여러 조건 변경하기, Cpen 색 변경, define
개발공부/C++ 2023. 9. 19. 20:26

참고 링크: https://www.youtube.com/watch?v=e6ivB-FQo_k&list=PLlIX4lkC1JdMx-vfK8I-J3-L-GL7TbMf9&index=11&pp=iAQB 초기값 어둡게 하기 변경한 부분 0으로 변경 memset(fm, 0, nWidth * nHeight); 밝기 부분 255로 나눠주기 // 점찍기 for (int k = 0; k < 100; k++) { int x = rand() % nWidth; int y = rand() % nHeight; fm[y * nPitch + x] = rand()%0xff; // 각각의 밝기에 대해서 255(0xff)로 나눠준다. } 좌표의 픽셀 값이 0이 아닐 경우로 바꿔주기 if (fm[j * nPitch + i] != 0) // 찍..

article thumbnail
[C++] MFC 다른 윈도우로 포인트 복제하기
개발공부/C++ 2023. 9. 18. 21:19

이미지 오버레이로 그림 그리기 메모리 릭 제거하기 메모리 릭을 막기 위해 새로 생성한 m_pDlgImgResult 에 대해서도 생성 후 삭제를 해 준다. 안전하게 존재하는지 if문을 걸어 작성해 준다. // 메모리 릭을 막기 위해 생성된 void CgPrjDlg::OnDestroy() { CDialogEx::OnDestroy(); if(m_pDlgImage) delete m_pDlgImage; if(m_pDlgImgResult) delete m_pDlgImgResult; } 타원 그리기 자식 다이얼로그에 타원을 그리는 코드를 만들어 볼 것이다. 먼저 헤더 폴더에 함수를 drawData를 정의해 주고 선언만 해 줬으니 cpp 파일에서 정의를 해 준다. CDlgImage 클래스 안에 있어야 하니 CDlgIm..