본문 바로가기
Developing../Basic

OS / LIBS, BINS + Compile

by bents 2022. 5. 18.

일반적으로 binary executable file을 바이너리(binary)라고 부른다. 실행파일, 프로그램이 이에 해당함.

바이너리 코드(binary code)란 컴퓨터 시스템에 의해 실행되는 0과 1의 조합만으로 표현되는 일련의 기계어 명령의 집합을 말한다.

프로그램 = 바이너리 코드(기계어 명령어) + 데이터(변수, 상수 등)

컴파일이란 C/C++과 같은 프로그래밍 언어로 쓰인 소스코드를 컴퓨터 프로세서가 이해할 수 있는 기계어 코드로 바꾸는 과정을 말한다. 대표적인 예는 C++ 코드를 기계어로 이루어진 실행파일로 바꿔주는 것이다 . (실행파일을 OS의 Loader가 메모리에 적재하면 프로그램이 동작함.)

컴파일 과정은 사실 빌드 과정임. 빌드과정은 4가지 단계(전처리 과정 - 컴파일 과정 - 어셈블리 과정 - 링킹 과정)로 이뤄짐.
https://bradbury.tistory.com/m/226

컴파일(Compile)에 대한 이해

서론 C, C++, Java 프로그래밍을 해봤으면 작성한 소스 코드를 빌드(Build) 혹은 컴파일(Compile)해서 실행해봤거나 코드를 잘못 작성하여 컴파일 에러가 났던 경험이 있을 것이다. 정확하게 컴파일이

bradbury.tistory.com

https://rond-o.tistory.com/m/302

Anatomy of a Binary

The C Compilation Process Preprocessing Compilation Assembly Linking Symbols and Stripped Binaries Loading and Executing a Binary 참고 및 인용 The C Compilation Process 바이너리 코드(binary code)란..

rond-o.tistory.com


라이브러리
- 실행파일을 만드는 빌드과정 중 어셈블리과정에서 기계어로 이뤄진 코드인 오브젝트 파일이 나온다. 그러나 이 파일은 기계어로 이뤄진 함수를 호출할 뿐이라서 실제로 함수를 동작시키려면 구현된 함수가 있어야 함. 이렇게 자주 쓰는 함수들을 미리 구현해놓은 파일이 라이브러리다.
오브젝트 파일과 라이브러리를 연결(링크)해서 나온 결과물이 비로서 기계가 이해하고 실제 동작할 수 있는 실행파일이다.
오브젝트 파일이 0,1로만 이뤄져 있기 때문에 바이너리임
https://saack.tistory.com/m/31

IT 상식] 라이브러리(Library) 란?

[라이브러리의 정의] 라이브러리(library)는 다른 프로그램들과 링크되기 위하여 존재하는, 하나 이상의 서브루틴(subroutine)이나 함수(function)들의 집합 파일 말하는데 함께 링크(link)될 수 있도록

saack.tistory.com

'Developing.. > Basic' 카테고리의 다른 글

Flutter 설치 이슈 정리  (5) 2024.10.21
직렬화 Serialization  (0) 2022.06.10
API 서버란?  (0) 2022.05.20
Obejct, component  (0) 2022.05.17