IT공부 120

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 13장, 14장. 쓰레드 동기화 기법 1, 쓰레드 동기화 기법 2

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * 실행 순서의 동기화   쓰레드의 실행순서를 정의하고, 이 순서를 반드시 따르도록 하는 것 * 메모리 접근에 대한 동기화   메모리 접근에 있어서 동시 접근을 막는 것 * 유저 모드 동기화(User Mode Synchronize) : 동기화가 진행되는 과정에서 커널 코드가 실행되지 않는 동기화 기법    (1) 크리티컬 섹션 기반의 동기화 → 메모리 접근 동기화 ..

IT공부/IT서적 2025.02.17

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 12장. 쓰레드의 생성과 소멸

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * CreateThread 함수   쓰레드 생성HANDLE CreateThread( [in, optional] LPSECURITY_ATTRIBUTES lpThreadAttributes, [in] SIZE_T dwStackSize, [in] LPTHREAD_START_ROUTINE lp..

IT공부/IT서적 2025.02.13

[C] C언어 전역변수, static 변수 vs Java static 변수

* C언어에서의 전역 변수(Global Variable) : 모든 파일 접근 가능- 모든 파일에서 접근 가능(extern을 사용하면 다른 파일에서도 접근 가능)- 프로그램이 시작될 때 할당되고 종료될 때 해제됨(데이터 영역에 저장)- 여러 파일에서 공유 가능  * C언어에서의 static 변수(1) static 전역 변수 : 같은 파일 접근 가능   - 같은 파일 내에서만 접근 가능(파일 스코프)   - 다른 파일에서 extern으로 접근할 수 없음   - 프로그램 시작될 때 할당되고 종료될 때 해제됨(데이터 영역에 저장) (2) static 지역 변수 : 소속된 함수 내부에서만 접근 가능   - 해당 함수 안에서만 접근 가능하지만, 값은 유지됨   - 일반 지역 변수는 함수가 끝나면 사라지지만, sta..

IT공부 2025.02.11

[윤성우 열혈 C프로그래밍] 매크로 # 연산자(P572 ~ P575)

* # 연산자   C 전처리기에서 매크로의 매개변수를 문자열 리터럴로 변환하는 연산자   해당 연산자를 사용하면 매개변수가 문자열로 변환되며,   전달된 값이 문자열 리터럴("")이라면 큰 따옴표, 문자 리터럴('')이라면 작은 따옴표가 유지 1. MacroOpToString.c의 결과값은 예제 코드와 다름   만약 예제와 같이 출력하고자 한다면 #A"의 직업은 " #B"입니다." 가 아니라 A"의 직업은 " B"입니다."로 기입해야 한다   ㄴ chatgpt 확인 결과,       C 표준이 변한 것이 아니라,       과거부터 # 연산자는 매개변수를 문자열로 변환할 때        문자는 작은따옴표('), 문자열은 큰따옴표("), 숫자는 그대로 출력하는 것이 정상적인 동작임        VS2010..

IT공부/IT서적 2025.02.11

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 11장. 쓰레드의 이해

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr     * 쓰레드가 실행할 수 있는 환경을 제공하는 것이 프로세스이고, 그 환경 안에서 스레드가 동작한다 * 멀티 프로세스 운영체제 기반 프로그램의 문제점과 대안   [문제] 빈번한 컨텍스트 스위칭(Context Switching)은 성능 저하를 유발   [해결책] 컨텍스트 스위칭에 소요되는 시간을 줄이기 위해 저장하고 복원하는 컨텍스트 정보의 개수를 줄이자   [탄생]..

IT공부/IT서적 2025.02.04

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 10장. 컴퓨터 구조 - 3

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr     * 스택 프레임   함수 호출 과정에서 할당되는 메모리 블록 * 메모리 블록   지역변수 선언으로 인해 할당되는 메모리 블록 * 스택에 데이터를 쌓거나 반환하기 위해서는 스택 위치를 기억해야 한다 * sp 레지스터(Stack Pointer 레지스터), ESP   현재 스택의 최상단 * fp 레지스터(Frame Pointer 레지스터), EBP   스택 프레임의 기..

IT공부/IT서적 2025.01.30