일반적으로 binary executable file을 바이너리(binary)라고 부른다. 실행파일, 프로그램이 이에 해당함.
바이너리 코드(binary code)란 컴퓨터 시스템에 의해 실행되는 0과 1의 조합만으로 표현되는 일련의 기계어 명령의 집합을 말한다.
프로그램 = 바이너리 코드(기계어 명령어) + 데이터(변수, 상수 등)
컴파일이란 C/C++과 같은 프로그래밍 언어로 쓰인 소스코드를 컴퓨터 프로세서가 이해할 수 있는 기계어 코드로 바꾸는 과정을 말한다. 대표적인 예는 C++ 코드를 기계어로 이루어진 실행파일로 바꿔주는 것이다 . (실행파일을 OS의 Loader가 메모리에 적재하면 프로그램이 동작함.)
컴파일 과정은 사실 빌드 과정임. 빌드과정은 4가지 단계(전처리 과정 - 컴파일 과정 - 어셈블리 과정 - 링킹 과정)로 이뤄짐.
https://bradbury.tistory.com/m/226
https://rond-o.tistory.com/m/302
라이브러리
- 실행파일을 만드는 빌드과정 중 어셈블리과정에서 기계어로 이뤄진 코드인 오브젝트 파일이 나온다. 그러나 이 파일은 기계어로 이뤄진 함수를 호출할 뿐이라서 실제로 함수를 동작시키려면 구현된 함수가 있어야 함. 이렇게 자주 쓰는 함수들을 미리 구현해놓은 파일이 라이브러리다.
오브젝트 파일과 라이브러리를 연결(링크)해서 나온 결과물이 비로서 기계가 이해하고 실제 동작할 수 있는 실행파일이다.
오브젝트 파일이 0,1로만 이뤄져 있기 때문에 바이너리임
https://saack.tistory.com/m/31
'Developing.. > Basic' 카테고리의 다른 글
Flutter 설치 이슈 정리 (5) | 2024.10.21 |
---|---|
직렬화 Serialization (0) | 2022.06.10 |
API 서버란? (0) | 2022.05.20 |
Obejct, component (0) | 2022.05.17 |