GCC는 "GNU Compiler Collection"의 약자로, 자유 소프트웨어 재단(GNU)에서 개발한 컴파일러이다. C, C++, Objective-C, Fortran, Ada, Go 등 다양한 프로그래밍 언어를 지원한다. GCC는 소스 코드를 기계어로 변환하여 실행 가능한 바이너리 파일을 생성하는 역할을 수행한다. GCC는 오픈 소스이며, 다양한...
해시 테이블(Hash Table)은 효율적인 데이터 구조로, 키-값(key-value) 쌍을 저장하는 자료구조이다. 해시 테이블은 일반적으로 배열과 같은 선형 구조를 기반으로 하며, 키(key)를 해시 함수를 사용하여 배열의 인덱스로 변환한 후 해당 인덱스에 값을 저장한다. 이를 통해 키-값 쌍을 빠르게 삽입, 검색, 삭제할 수 있다. 해시 테이블은 해시...
어셈블리 언어(Assembly Language)는 컴퓨터 아키텍처에서 직접적으로 이해할 수 있는 저수준 프로그래밍 언어이다. 기계어로 작성된 프로그램을 사람이 이해하기 쉽도록 기호로 표현한 것으로, 기계어와 일대일로 대응된다. 어셈블리 언어는 컴퓨터 아키텍처의 명령어 집합을 사용하여 프로그램을 작성한다. 이 명령어는 컴퓨터의 중앙 처리 장치(CPU)에서...
힙(Heap)은 컴퓨터 메모리에서 동적으로 할당되는 데이터를 저장하기 위한 영역이다. 힙은 프로그램 실행 중에 런타임에 동적으로 할당된 데이터를 저장하는 데 사용된다. 힙은 주로 동적으로 크기가 변하는 데이터 구조, 예를 들면 동적 배열, 연결 리스트, 트리 등을 저장하기 위해 사용된다. 정적으로 할당되는 데이터는 스택(Stack) 영역에 저장되는 반면,...
Unix 셸(Shell)은 유닉스 및 유닉스 기반 운영체제에서 사용되는 커맨드 라인 인터페이스(CLI)이다. 셸은 사용자와 운영체제 커널 사이의 인터페이스 역할을 한다. 사용자는 셸을 통해 커널에 명령을 내릴 수 있고, 커널은 이러한 명령을 실행하여 사용자 요청에 따른 작업을 처리한다. Unix 셸은 명령어를 입력하고 실행하며, 사용자와 컴퓨터 간의 상호...