본문 바로가기
728x90
반응형

Software/C3

[C 언어] 3. Memory Structure(메모리 구조) 3. Memory Structure(메모리 구조) 메모리 구조프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 한다.운영체제는 프로그램의 실행을 위해 다양한 종류의 메모리 공간을 제공한다.코드 영역 (Code)이 영역은 실행 가능한 코드, 즉 프로그램의 명령어들이 저장된다.읽기 전용(Read Only)이며, 프로그램 실행 중에는 수정할 수 없다.컴파일된 코드가 이곳에 저장된다.데이터 영역 (Data)이 영역은 전역 변수와 static 변수들이 저장된다.초기화된 데이터와 초기화되지 않은 데이터로 나뉜다초기화된 데이터 영역 (Initialized Data Segment): 프로그램이 시작될 때 값이 할당된 전역 변수와 static 변수들이 저장된다.초기화되지 않은 데이터 영역 (BSS Segm.. 2024. 9. 1.
[C 언어] 2. Pre-process(전처리) 2. Pre-process(전처리) 전처리 지시자 #include지정한 파일을 읽어 와서 지시자가 있는 위치에 삽입한다.#include : 시스템 헤더파일 내용 복사. 컴파일러가 설정한 include 디렉터리에서 검색.#include “ ” : 사용자 정의 헤더파일 내용 복사. 소스 파일이 저장된 디렉터리에서 검색.단순히 해당 파일을 지시자가 있는 위치에 삽입하는 것이므로, 반드시 특정 코드의 맨 위에 넣을 필요는 없다.소스 파일(.c)도 포함할 수 있다.   #define매크로명을 정의하는 전처리 지시자모든 매크로는 전처리 과정에서 단순히 치환될 부분으로 바뀌는 것 뿐이다.단순 매크로#define 매크로명 치환될_부분(관례적으로 대문자 사용)매크로 상수 : 상수 대신에 쓰이는 매크로명함수 매크로#de.. 2024. 9. 1.
[C 언어] 1. Introduction 1. Introduction C 언어   유닉스 OS에 사용하기 위해 켄 톰슨이 만든 B 언어를 데니스 리치가 발전시켜 만든 언어이다.초기 유닉스는 대부분 어셈블리어로 작성되어 컴퓨터의 하드웨어가 바뀌면 다시 개발해야 하는 문제가 있었다.어셈블리어로 매번 다시 개발하는 일을 없애고자, 전 단계에서 사용할 공통된 언어인 C를 개발했다.주로 하드웨어를 제어하는 SW로 많이 사용된다.  C 언어 컴파일 과정 소스 코드를 기계어로 바꾸는 과정으로 전처리, 컴파일, 어셈블, 링크 4단계로 이루어진다.전처리, 컴파일, 어셈블 3단계를 모두 포함해서 컴파일이라고도 한다.3단계를 포함한 컴파일과 링크를 포함해서 빌드라고 한다. 빌드는 소스 코드를 실행할 수 있는 소프트웨어 로 가공하는 것을 의미한다.전처리(Pre-pr.. 2024. 8. 31.
728x90
반응형