ROOT 사용을 위한 C++ 기초

컴파일러

컴파일러는, 우리가  C++ 문법에 따라 사람이 알아보기 쉬운 형태로 작성된 프로그램(코드)를 컴퓨터가 실행시킬 수 있는 형태로 변환시켜주는 역할을 하는 프로그램이다. 이것보다 더 자세한 내용은 위키피디아 글을 참고하자.

참고로 A라는 아키텍쳐의 특정 운영체제(OS)에서 사용되도록 컴파일 된 코드는, B라는 아키텍쳐를 가진 같은 OS나 같은 아키텍쳐를 가진 다른 OS에서는 일반적으로 실행되지 않는다. 예를들어 A 아키텍쳐를 사용하는 우분투(리눅스 배포판 중 하나)에서 컴파일된 프로그램은 B 아키텍쳐를 사용하는 우분투에서 실행되지 않는다. 마찬가지로 아키텍쳐를 불문하고 우분투에서 컴파일 된 프로그램은 맥에서 실행되지 않는다.

컴파일러에 대한 설명과 직접적인 관련은 없지만, 위에서 설명한 이유 때문에 윈도우가 아닌 다른 OS에서 돌아가는 오픈소스 프로그램들은 여러 OS에서 컴파일 된 프로그램(바이너리)을 제공한다. ROOT도 마찬가지로 여러 바이너리를 제공한다 (링크).

위 그림은 ROOT 6.06.04 버전의 여러 바이너리를 보여준다. 오른쪽 파일 이름에 나와있는 x86_64나 macosx64가 아키텍쳐를 나타낸다. x86_64는 Intel이나 AMD의 64비트 CPU를 나타내고, macosx64는 64비트 macOS를 나타낸다. 여러가지 리눅스 배포판과 컴파일러(gcc, clang)버전으로 컴파일된 바이너리들 중 자신에게 맞는 바이너리를 다운받아 사용할 수 있다.

정말 드물게 자신이 사용하는 컴퓨터가 엄청나게 특별한 아키텍쳐를 사용하고 있을 경우나 미리 제공되는 바이너리에 필요한 옵션이 포함되어 있지 않을 경우에는 아래 그림 부분의 소스코드를 직접 내려받아 컴파일해 사용할 수 있다.

다른 아키텍쳐를 사용하는 경우에는 소스코드를 받았다고 해서 컴파일에 성공할 수 있다고는 할 수 없으니 최대한 성공할 수 있는 다른 방법을 찾아보는 것을 추천한다.

마지막으로, ROOT를 사용할 때는 데이터 분석을 위한 코드를 직접 컴파일러를 사용해서 컴파일 하는 경우는 거의 없다고 보아도 된다. ROOT에서 제공하는 간편한 컴파일 옵션을 사용하는 경우가 대부분이므로 겁먹지 말자. 그리고 우리는 따로 컴파일러는 신경 쓰지 않고 아래 링크의 웹에서 모든 프로그램을 컴파일하고 연습할 것이다.

웹 C++11 연습기

 


잘못된 내용에 대한 지적은 언제든지 환영합니다. 댓글로 부탁드립니다. 감사합니다.

댓글

댓글 본문
버전 관리
Genie
현재 버전
선택 버전
graphittie 자세히 보기