[C++] 5가지 온라인 컴파일러 사이트 비교

blog post 

 

개발환경을 구축하기 위해서는 여러가지로 손이 참 많이 갑니다. 그래서 저는 온라인 컴파일 환경을 자주 사용하는 편입니다. 물론 이번 포스팅에서 추천드릴 사이트들은 기업에서의 대규모 프로젝트를 빌드하고 테스트하기에 적합한 환경은 절대 아닙니다. 다만 어떤 알고리즘을 테스트해야 하는 경우, 혹은 코딩 테스트를 연습하면서 디버깅을 해보고 싶거나, 컴파일러 별로 어떤 차이가 있는지 알고싶은 경우에 유용합니다.

 

컴파일러 사이트 별로 지원하는 언어나 컴파일러, 라이브러리 등이 전부 다릅니다. 본 포스팅에서는 주로 C++과 관련하여 각 온라인 컴파일 서버별 특징들을 살펴보도록 하겠습니다.

 

 

OnlineGDB

 

 

제가 가장 즐겨쓰는 온라인 컴파일 사이트 입니다. 사실 Boost 라이브러리를 지원하지 않는다는 점이 아쉽긴 하지만, 디버깅을 지원한다는 점에서 여러가지로 유용한 서버입니다. 특히 코딩테스트 중에 런타임 에러 날 경우 이 서버에서 디버깅하며 테스트하기 좋습니다. [이동하기]

 

- C++ 지원 버전: 17이하

- Boost 지원: X

- 디버깅 지원: O

- Clang 지원: X

- 컴파일러 옵션 입력: O

- 기타 특이사항: 자신의 GitHub 프로젝트와 연동하여 테스트할 수 있음. 

 

OnlineGDB

 

 

Wandbox

 

개인적으로 저는 OnlineGDB를 사용한다고 말씀드렸지만, Wandbox는 제가 가장 추천드리고 싶은 컴파일러 사이트입니다. 특히 컴파일러 버전 별로 빌드 결과가 어떻게 차이나는지 궁금하신 분들에게 정말 유용한 사이트입니다. 거의 모든 컴파일러를 버전별로 테스트 할 수 있습니다. 무엇보다도 Boost 라이브러리를 지원한다는 점이 강점입니다. [이동하기]

 

- C++ 지원 버전: 20(2a) 이하

- Boost 지원: O

- 디버깅 지원: X

- Clang 지원: O

- 컴파일러 옵션 입력: O

 

Wandbox

 

Godbolt-CompilerExplorer

 

이 빌드 서버는 미친듯이 다양한 기능들을 제공하고 있습니다. 제가 접해본 온라인 컴파일러 서버 중에 가장 많은 기능을 제공하고 있는 것처럼 보입니다. Boost 라이브러리 지원은 물론이고 자동 컴파일, 심지어 자동으로 어셈블리어로 변환하여 보여줍니다.[이동하기]

- C++ 지원 버전: 알 수 없음 (버전별 선택이 불가능한 것으로 보임)

- Boost 지원: O

- 디버깅 지원: X

- Clang 지원: O

- 컴파일러 옵션 입력: O

 

- 기타 특이사항:

1. 코드 입력할 때마다 자동 컴파일, 실행 됨. 즉 실행 버튼 없음.

2. 어셈블리어 변환

3. 시스템 아키텍처 별 컴파일러 버전을 선택할 수 있음.

4. Boost 뿐만 아니라 다양한 라이브러리를 지원

5. 창의 위치 변경 가능

6. 그 외에 선택할 수 있는 옵션이 매우 많고 다소 복잡함

 

Godbolt-CompilerExplorer

 

Leetcode

 

사실 이 사이트는 코딩 테스트를 연습하고 목(Mock) 인터뷰를 위해 운영되는 사이트입니다. 보통 다른 코딩테스트 사이트의 경우, 문제 페이지에서만 테스트 환경을 제공하고 별도 컴파일 환경을 제공하지 않지만, 이 사이트의 경우 별도로 playground라고 부르는 컴파일 환경을 제공합니다. 비록 기초적인 기능만 제공하고 세부적으로 컴파일러나 라이브러리를 선택할 수 없지만, 해당 코딩 테스트 환경과 같은 빌드 환경으로 테스트하고 싶은 경우에 유용합니다. [이동하기]

 

- C++ 지원 버전: 선택 불가

- Boost 지원: X

- 디버깅 지원: X

- Clang 지원: X

- 컴파일러 옵션 입력: X

- 기타 특이사항: Leetcode 코딩 테스트 빌드 환경과 같은 환경에서 테스트할 수 있음

 

Leetcode

 

ideone.com

 

ideone.com의 경우, 정말 간단한 기능만 제공하는 사이트입니다. 소개하기 망설일 정도로 leetcode 만큼 간단한 기능만 제공하지만, 지원하는 언어는 생각보다 많습니다. 또 앞서 언급한 컴파일러 사이트 처럼 복잡한 기능이 필요 없다면 이 곳을 사용해 보는 것도 괜찮을 것 같습니다. [이동하기]

 

- C++ 지원 버전: 14 이하

- Boost 지원: X

- 디버깅 지원: X

- Clang 지원: X

- 컴파일러 옵션 입력: X

- 기타 특이사항: 실행 시간에 대한 제한을 걸 수 있음. (5, 15초)

 

ideone.com

 

TAGS.

Comments