본문 바로가기

compile2

[Linux] 크로스 컴파일러(Cross Compiler) 정리. 0. 글을 들어가기 전에.. 크로스 컴파일러.. 컴파일러인데 엇갈리게 컴파일을 하는 건가? 다른 환경에서 컴파일을 한다는 소리인가? 제가 처음 접하게 되었을 때, 상당히 혼란을 주었던 단어였습니다. 지금도 계속해서 쓰고는 있지만 확실하게 아는 건 아닙니다. 그래서 크로스 컴파일러라는 용어를 정리하고자 합니다. 어찌되었든 정리한다면 더욱 이해할 수 있는 프로그래밍을 할 수 있지 않을까요. 1. 크로스 컴파일러란? 우선 위키백과에서는 간단하게 다음과 같이 정의하고 있습니다. 크로스 컴파일러는 컴파일러가 실행되는 플랫폼이 아닌 다른 플랫폼에서 실행 가능한 코드를 생성할 수 있는 컴파일러. 크로스 컴파일러 툴은 임베디드 시스템 혹은 여러 플랫폼에서 실행파일을 생성하는 데 사용이 된다. 이것은 마이크로 컨트롤러와.. 2017. 6. 7.
컴파일(Compile), 링킹 각각의 소개 먼저, 컴파일이란 개발자들이 특정한 프로그래밍언어(예 : C, C++, Object-C등)을 사용해서 컴퓨터가 이해할 수 있는 기계어 코드(이진코드)로 변환하는 작업을 말합니다. 밑에 그림을 참고하여 설명을 진행하도록 하겠습니다. 컴파일의 역할을 좀더 정확하게 말하면, 컴퓨터와 그 컴퓨터에 설치되어 있는 운영체제가 이해할 수 있는 기계어 코드로 변환하는 일을 합니다. 따라서 동일한 컴퓨터라 할지라도 윈도우가 설치되어 있는 컴퓨터와 리눅스가 설치되어 있는 컴퓨터는 같은 애플리케이션이라도 컴파일된 결과물은 다릅니다. 그 이유는 윈도우나 리눅스 등의 OS마다 차이가 있기 때문입니다. 사진에서 볼 수 있는 것처럼 소스 코드들은 컴파일러에 의해서 기계어 (바이너리) 코드로 변환되어 오브젝트 코드로 저장됩니다. 이.. 2017. 4. 19.