ROOT를 실행하는 방법은 여러가지가 있다. 여기서는 두가지 방법만 다룬다.
기본 실행, 커맨드 라인
기본적으로 ROOT 실행 명령어는 root 다.
root []
위와 같이 터미널에서 ROOT를 실행하면 'root [0]'로 시작하는 ROOT 커맨드 라인이 나온다. ROOT를 실행할 때 루트 로고와 정보가 뜨는데 이 과정이 매우 오래 걸려서 기본으로 이 과정을 끄는 옵션(-l)을 사용하는 것을 추천한다.
root []
ROOT는 c++ 패키지 이기도 하지만 동시에 C++ Interpreter 이기도 하다. 따라서 사용자는 여기서 바로 코드를 작성하는 것이 가능하다.
(int) 2
root []
ROOT 커맨드 라인을 종료하는 명령어는 '.q' 다.
>
매크로 파일을 ROOT로 실행
매크로 파일 실행은 root 명령 이후에 파일 이름을 입력하면 된다.
위와 같은 실행은 기본적으로 인터프리터를 사용하는데 컴파일을 위해서는 파일 이름 뒤에 '+'를 붙인다.
매개변수를 넣는 것도 가능하다.
파일을 실행할 때 아래와 같은 옵션을 사용할 수 있다.
- -q : 파일 실행후 ROOT를 종료
- -b : 그래픽을 사용하지 않음
- -l : ROOT 로고와 정보 스크린을 띄우지 않음
더 많은 옵션은 다음을 참고하자.
컴파일러(Compiler), 인터프리터(Interpreter)
보통 c++를 이용하여 프로그래밍을 하는 경우 1)코드 작성, 2)코드 컴파일, 3)프로그램 실행의 과정을 거친다. 이 과정은 기본적으로 코드가 완성되어 있어야 한다. 인터프리터는 코드를 한줄씩 실행을 할 수 있도록 해주는 프로그램이다. ROOT는 c++ 인터프리터인 Cling을 적용하였고 ROOT 커맨드 라인을 통해서 이용할 수 있다. 매크로를 이용하는 경우 문법이 엄격하게 적용되어 매크로를 사용하는 경우 파일 전체에 대한 문법검사를 실행한 후에 프로그램을 돌리도록 변경되었다. 하지만 이 경우도 컴파일을 하는 것에 비해 완벽한 문법검사가 되지 않는다는 것을 알아두자.
ROOT를 사용하면서 간단한 테스트를 하는 경우에는 인터프리터를 이용하고 중요한 결과를 낼 때에는 코드를 컴파일을 하여 실행하는 것을 추천한다.
ROOT 매크로
기존 c++ 메인 함수는 이름이 main이지만 ROOT 매크로의 경우 메인 함수의 이름은 매크로 파일의 이름에서 확장자를 제외한 이름과 같아야 한다. 예를 들어 파일의 이름이 macro.C 라면, 메인함수의 이름은 macro 가 된다.
//macro.C void macro() { cout << "Hello ROOT!" << endl; }
ROOT는 iostream 등의 기본 c++ 헤더들이 추가 되어있다. 이는 컴파일을 하지 않고 인터프리터를 사용하는 경우에만 해당된다. 이 외에는 기본적인 c++ 프로그램 작성방법과 동일하다.
root [0]
Processing macro.C...
Hello ROOT!
root [1]