전체 글

전체 글

    운영체제 O/S

    운영체제는 컴퓨터 시스템을 구성하는 하드웨어와 그 컴퓨터를 사용하는 사용자 또는 프로그램을 중계하는 역할이라고 보면 된다. 운영체제를 사용함으로써, 사용자는 어렵게 하드웨어에 직접 접근하여 사용하지 않고, 기본적으로 간편하고 쉽게 컴퓨터 시스템을 사용할 수 있다. 운영체제가 메모리 및 여러가지 하드웨어와 기능을 담당함으로써 현재 컴퓨터 사용자들은 컴퓨터의 하드웨어까지 알 필요없이 간편히 사용하고 있다.

    구조체 메모리 패딩 문제

    typedef struct Test { char a; short b; int c; }T T A; printf("%d", sizeof(A)); 어떤 값이 출력 될까? 32bit OS에서 가정하면 char 는 1Byte short 는 2Byte int 는 4Byte로 총 7이 출력될 것 인가? 하지만 출력 값은 8이다. 구조체에서는 메모리의 크기를 4Byte씩 나눠서 저장하게 됩니다. 위의 예제에서 char형과 short형을 합치면 3바이트이므로 4바이트를 맞추기 위해 1바이트가 추가 된다. 즉 (char(1) + short(2) + 1) + int(4) 로 총 8바이트 로 저장됩니다. 이것이 바로 메모리 패딩 입니다.

    전처리기

    전처리기란 프로그램에서 컴파일 전에 가장 먼저 처리되는 것이라고 보면 된다. 그 중 잘 알지 못하고 있는 것 들에 대해 설명한다. 1. #pragma once - 포함된 헤더 파일들이 여러개의 소스파일에 동시에 include 되어있을 시 중복되어 충돌할 경우가 발생할 수 있다. 그때 포함된 헤더 파일들이 한번씩만 빌드 되게 설정하는 것이다. 즉 중복을 방지한다. 2. #pragma comment(lib, "*.lib") - 외부 라이브러리 링크를 코드 내에 명시할 때 사용한다. Visual Studio와 같은 통합 개발 한경이 아니더라도, Open CV나 여러 라이브러리를 코드 내에서 링크 하여 사용 가능하도록 한다. 3. #define 내부의 # - #define 전처리기 지시자는 모두 잘 알고 있겠지..

    순차 검색

    순차 검색은 데이터를 검색하기 위한 가장 기초적인 검색 방법 하나 이다. 1. 자료가 미리 정렬되지 않은 경우의 순차 검색 - 모든 자료를 처음부터 마지막까지 순차적으로 모두 비교하며 검색한다. 그러므로 데이터가 자료에 있는지 없는지 여부는 검색을 마지막까지 모두 검색한 후에나 확인 가능하다. 2. 자료가 미리 정렬된 경우의 순차 검색 - 이 경우도 위와 동일하게 처음부터 마지막까지 순차적으로 모두 비교하며 검색한다. 하지만 위의 경우와는 다르게 데이터가 정렬되 있으므로, 자료가 조건에 만족하지 못한다면, 중간에 데이터 유무를 확인할 수 있다. 3. 색인 순차 검색 색인 순차 검색은 자료의 Index를 가지고 검색하는 방식으로 기존의 데이터의 Index에 해당하는 데이터를 가지고 검색하므로 검색의 효율을..