해당 글에서 사용하는 개발 환경은 우분투 18.04임을 미리 밝힙니다
오늘은 저번에 에이다에 대한 짤막한 소개를 해보았습니다. 오늘은 에이다를 이용하여, 간단한 기초들을 알려드리겠습니다
위에서도 말하였듯이 저의 개발환경은 우분투(데비안) 환경임을 다시 한번 더 말씀드립니다.
ADA의 컴파일러
우선 ADA를 사용하기 위해서는 당연하게도 컴파일러가 필요할 것 입니다.
그렇다면 어떤 컴파일러를 이용해야 할까요?
우선 대표적인 컴파일러는 다음과 같이 있습니다.
- Green Hills Software의 AdaMULTI
- GNU COMPILER COLLECTION의 구현체 GNAT
저 같은 경우 우선 기초를 잡는 상황이기에, GCC의 구현체중 하나인 GNAT을 이용하도록 하겠습니다.
GNAT 설치 방법
sudo apt-get install gnat-<자신이 사용하는 GCC 버전>
다음과 같이 명령어를 입력하면 됩니다.
저 같은 경우에는 GCC를 11을 이용하기에, gnat-11을 설치하였습니다.
이런 식으로 설치가 끝나면 컴파일러 설치가 끝났으므로, 간단한 소스코드를 작성하여, 컴파일을 시켜볼까요?
with Ada.Text_IO;
procedure Hello is
Ada.Text_IO.Put_Line("Hello World");
end Hello;
우선 이런식으로 간단한 코드를 작성해봅시다.
그리고 Ada의 확장자는 .adb 혹은 .ads이므로 잊지 마십쇼.
그 다음에는 컴파일을 어떻게 해야할까요?
컴파일 방법
기본적으로 두가지로 구분합니다.
- gcc, gnatbind, gnatlink를 이용한 수동적 방법
- gnatmake를 이용한 자동적 방법
이 두가지로 구별할 수 있습니다.
그럼 한번 알아볼까요?
수동적 방법(gcc, gnatbind, gnatlink)
우선 쉘을 열어 자신이 컴파일 시키고자 하는 소스코드의 디렉토리로 이동합니다.
이후 gcc를 이용하여 오브젝트 파일을 생성시키도록 합니다.
gcc -c <자신이 컴파일 시키고자하는 소스코드>
이런 식으로 명령어를 입력하게되면, 다음과 같이 될 것 입니다.
이후 .o와 .ali가 나올 것입니다.
.o는 오브젝트 파일이고, .ali는 Ada Library Information으로 소스코드에서 사용한 에이다의 라이브러리 정보들에 대한 정보를 작성하였다고 생각하시면 됩니다.
이후 gnatbind 명령어를 통하여, 바인딩을 진행시켜줍니다.
gnatbind <.ali 파일>
이런 식으로 새로운 파일이 나오더라도, 제대로 실행이 된 것이기에, 걱정하지 않으시면 됩니다.
이후, gnatlink를 통하여, 링크를 시켜주면 파일이 생성이 됩니다.
gnatlink <.ali 파일>
아까 생성되었던 파일은 사라지고, 실행파일이 생성이 되었음을 알 수 있습니다.
이제 실행을 해보면,
작동이 잘 됨을 확인하실 수 있습니다.
사용을 해보시면 아시겠지만, 수동적 방법은 생각 외로 번거롭다는게 느끼실 것 입니다.
결론은 귀찮은 이들을 위해서, gnat은 gnatmake를 통하여, 모든 과정을 자동으로 해주도록 합니다.
그럼 자동적 방법도 알아볼까요?
자동적 방법(gnatmake)
아까와 그리 차이는 나지 않으나, 매우 간단합니다.
아까처럼 소스코드가 있는 디렉토리로 이동해줍니다.
이후 gnatmake만 하면 실행파일이 생성이 됩니다.
gnatmake <소스코드 파일>
이렇게 아까 위에서 하였던 gcc, gnatbind, gnatlink를 한번에 자동으로 해줍니다.
아까처럼 실행파일이 존재함을 알 수 있습니다.
이런식으로 오늘은 간단하게 Hello World와 컴파일 방법을 알아보았습니다.
'Ada' 카테고리의 다른 글
[ADA]Ada 기초(5) (0) | 2021.08.19 |
---|---|
[ADA]5. Ada 기초(4) (0) | 2021.08.10 |
[ADA]4. ADA 기초(3) (0) | 2021.07.12 |
[ADA]3.ADA 기초(2) (0) | 2021.07.05 |
[ADA]1.시작 (0) | 2021.07.03 |