분류 전체보기 336

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 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

[윤성우 열혈 C프로그래밍] Chapter21

* 스트림(stream) → 한 방향으로 흐르는 데이터 흐름    프로그램상에서 모니터와 키보드를 대상으로 데이터를 입출력 하기 위해서는 이들을 연결시켜주는 다리가 필요함   이러한 다리 역할을 하는 매개체를 가리켜 스트림(stream)이라고 함   ㄴ 콘솔 입출력을 위한 입력 스트림과 출력 스트림은         프로그램이 실행되면 자동으로 생성되고,        프로그램이 종료되면 자동으로 소멸되는 스트림이다 * 입출력 함수   문자 출력 함수 : putchar, fputc   문자 입력 함수 : getchar, fgetc   문자열 출력 함수 : puts, fputs   문자열 입력 함수 : gets, fgets * 입출력 이외의 문자열 관련 함수   문자열의 길이를 반환하는 함수 : strlen ..

IT공부/IT서적 2025.01.30

[게임 프로그래머 입문 올인원] 문자열, 참조, 로또 번호 생성기, 달팽이 문제, 블루프린트 실습 - 3

* 해당 글은 게임 프로그래머 입문 올인원 강의를 보고 정리한 글입니다.   강의_바로가기 [게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버Rookiss | 어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로www.inflearn.com    * 옛날 C언어 스타일 문자열    널 터미널 스트링(Null-terminated string)    문자를 포함하는 배열로 저장되고 널 문자로 끝나는 문자열을 말한다 #include using namespace std;int main..

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 9장. 스케줄링 알고리즘과 우선순위

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * 스케줄러(Scheduler)   실행중인 모든 프로세스들에게 골고루 CPU를 할당 * 일반 OS   범용적인 사용 * 리얼타임 OS(Real Time OS, RTOS)    사용하는 영역이 제한 * 일반 OS와 RTOS는 응답성(응답 속도)에 차이가 있고   멀티 테스킹 해야하는 일반 OS보단 사용하는 영역이 제한된 RTOS보다 당연히 응답성이 느릴 수 밖에 없..

IT공부/IT서적 2025.01.28

[ETC] 메모리 원자성과 DB 원자성

* 메모리 원자성(Atomicity)   데이터의 읽기 또는 쓰기 작업이 분할되지 않고 한 번에 처리되는 성질을 의미한다 * 캐시 라인(Cache Line)과 메모리 원자성의 관계   캐시 라인이란?   CPU가 메모리를 효율적으로 관리하기 위해 사용하는 데이터 블록 단위(일반적으로 64바이트)   ㄴ 캐시 라인 내 데이터는 원자성을 보장할 수 있음(데이터를 한 번만 읽어와도 됨)   ㄴ 캐시 라인 경계를 넘는 데이터는 원자성을 보장할 수 없음(데이터를 두 번 읽어와야 함) * 원자성 보장의 조건(1) 캐시 라인 내부 데이터   데이터가 캐시 라인 경계를 넘지 않고, CPU 지원 크기(예: 64비트)에 맞춰 정렬되어 있다면 원자적으로 처리 가능(2) 메모리 정렬   데이터가 자연스러운 정렬(Aligned..

IT공부 2025.01.24

[게임 프로그래머 입문 올인원] 배열, 포인터 기초, 포인터 연산

* 해당 글은 게임 프로그래머 입문 올인원 강의를 보고 정리한 글입니다.   강의_바로가기 [게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버Rookiss | 어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로www.inflearn.com    * 배열   고정맵을 만들때 유용하게 사용   2D 로그라이크만들 때 유용하게 사용   ㄴ 1차원 배열과 2차원 배열은 메모리 구조상 같음 * 포인터   주소값을 담는 변수   ㄴ 32비트 - 4바이트   ㄴ 64비트 - 8바이트 * ..

[뇌를 자극하는 윈도우즈 시스템 프로그래밍] 8장. 프로세스간 통신(IPC) - 2

* 해당 글은 윤성우의 뇌를 자극하는 윈도우즈 시스템 프로그래밍 도서를 읽고 정리한 글입니다   https://product.kyobobook.co.kr/detail/S000001223395 뇌를 자극하는 윈도우즈 시스템 프로그래밍 | 윤성우 - 교보문고뇌를 자극하는 윈도우즈 시스템 프로그래밍 |product.kyobobook.co.kr    * 핸들 테이블   핸들 정보를 저장하고 있는 테이블로서 프로세스별로 독립적이다 * Usage Count   커널 오브젝트를 참조하는 프로세스 개수만큼 커널 오브젝트의 Usage Count 증가 * 프로세스가 핸들을 얻게 되었다는 의미   핸들 테이블에 해당 핸들에 대한 정보가 갱신(추가)되었음을 의미하는 것이다 * GetCurrentProcess 함수   현재 실..

IT공부/IT서적 2025.01.21