내가 쓴 코드가 실제로 어떤 기계어로 바뀌는지 궁금해서 확인해보려다가, 컴파일러부터 새로 깔아야 한다는 사실에 막막해지신 적 있으시죠? 컴파일러 하나 제대로 설치하려면 환경 변수를 건드려야 하고, 버전이 꼬이면 멀쩡하던 프로젝트까지 같이 망가집니다.
게다가 "이 코드랑 저 코드 중에 뭐가 더 빠른가"를 비교하려면 컴파일러를 버전별로 여러 개 깔아야 합니다. 하루를 통째로 날려도 세팅이 안 끝나는 경우가 흔하지요.
그런데 이 문제를 설치도, 세팅도 없이 완전히 다르게 풀어내는 방법이 있습니다.
도대체 어떻게 가능한 걸까요?
핵심 요약
브라우저 주소창에 주소 하나만 치면 컴파일러 수십 종이 이미 깔린 화면이 열리고, 왼쪽에 코드를 치는 순간 오른쪽에 어셈블리가 실시간으로 나타납니다. 설치와 환경 설정에 쓰던 시간이 통째로 사라지는 것이지요.
같은 코드를 GCC와 Clang에 동시에 물려서 결과를 나란히 놓고 비교할 수도 있고, 컴파일러 버전을 하나씩 바꿔가며 어느 버전부터 최적화가 달라지는지도 확인할 수 있습니다. 회원가입도, 결제 정보 입력도 필요 없습니다.
무엇보다 결과 화면 전체를 링크 하나로 만들어 동료에게 던질 수 있어서, "내 컴퓨터에서는 되는데"라는 지긋지긋한 논쟁이 사라집니다. 어떤 곳이길래 이런 게 되는 걸까요?
사이트 소개
이 도구의 정식 이름은 컴파일러 익스플로러(Compiler Explorer)이고, 주소는 [https://godbolt.org](https://godbolt.org) 입니다. 만든 사람의 이름을 따서 흔히 "갓볼트(Godbolt)"라고 불리는데, 영국 개발자 맷 갓볼트(Matt Godbolt)**가 만들어 지금까지 이어오고 있는 서비스입니다.
주목할 점은 이 서비스가 오픈소스로 전체 코드가 공개되어 있다는 것입니다. 그 덕분에 도커 이미지 형태로 자기 회사 서버에 똑같은 환경을 통째로 띄워 쓰는 사람들이 있을 정도지요. 공개 사이트가 언젠가 닫혀도 소스는 남는다는 뜻이니, 서비스 종료를 걱정할 필요가 거의 없는 구조인 셈입니다.
정체성은 단순합니다. "컴파일된 결과를 눈으로 직접 보여주는 곳"입니다. 흔한 온라인 코드 실행기가 실행 결과만 뱉어내는 것과 달리, 이곳은 컴파일러가 내 코드를 어떤 어셈블리로 바꿨는지를 보여줍니다.
지원 언어도 C++ 하나가 아닙니다. C++를 비롯해 러스트(Rust), 고(Go)를 포함한 다수의 언어를 다룰 수 있습니다.
기능 소개
가장 핵심은 실시간 어셈블리 출력입니다. 왼쪽 편집기에 코드를 치는 동안 오른쪽 패널이 계속 갱신되는데, 이 덕분에 "코드를 고치고, 컴파일 명령을 치고, 어셈블리 덤프 파일을 열어보는" 세 단계짜리 반복 작업 자체가 사라집니다.
두 번째는 컴파일러·버전 선택 기능입니다. 화면 위쪽 드롭다운에서 컴파일러 종류와 버전을 고르기만 하면 되는데, 이것 덕분에 여러 버전의 컴파일러를 로컬에 병렬 설치하고 경로 충돌을 관리하는 수고를 전혀 하지 않아도 됩니다.
세 번째는 여러 패널 동시 비교입니다. 창을 분할해 같은 코드를 서로 다른 컴파일러에 물릴 수 있어서, -O0과 -O2 최적화 옵션이 결과를 얼마나 바꾸는지를 한 화면에서 확인할 수 있지요. 성능 논쟁이 벌어졌을 때 추측 대신 증거를 들이밀 수 있게 되는 것입니다.
네 번째는 링크 공유입니다. 지금 보고 있는 코드와 컴파일러 설정, 패널 배치까지 그대로 담긴 주소가 만들어집니다. 상대방이 같은 컴파일러를 깔 필요가 없으니, 재현 환경을 맞추느라 주고받던 메일이 통째로 없어집니다.
사용법
먼저 브라우저에서 주소로 들어가면 회원가입 절차 없이 곧바로 편집 화면이 뜹니다. 화면이 좌우로 나뉘어 있는데, 왼쪽이 소스 코드, 오른쪽이 컴파일 결과입니다.
왼쪽 패널 위에는 언어를 고르는 드롭다운이 있습니다. 기본값은 C++인데, 여기서 Rust나 Go 등으로 바꾸면 오른쪽 컴파일러 목록도 함께 바뀝니다.
오른쪽 패널 상단에는 컴파일러 이름과 버전이 적힌 드롭다운, 그리고 그 옆에 컴파일 옵션을 직접 적는 입력칸이 있습니다. 이 칸에 -O2나 -std=c++20 같은 플래그를 그대로 쳐 넣으면 됩니다. 이때 오른쪽 결과가 즉시 바뀌는지 확인하시면 되는데, 안 바뀐다면 옵션에 오타가 있어 컴파일이 실패한 경우가 대부분입니다.
비교를 하고 싶다면 오른쪽 패널의 "Add new" 또는 창 분할 메뉴에서 컴파일러 패널을 하나 더 추가합니다. 그러면 같은 소스가 두 컴파일러에 동시에 들어가 결과가 나란히 뜹니다.
마지막으로 상단의 공유(Share) 버튼을 누르면 지금 상태 그대로를 담은 주소가 만들어집니다. 이 주소를 메신저에 붙여 넣으면 상대방 화면에도 똑같은 코드와 똑같은 컴파일러 설정이 그대로 열립니다.
처음 쓸 때 막히는 지점은 어디일까요?
가장 흔한 당황 지점은 오른쪽 화면이 온통 알 수 없는 글자로 채워져 있다는 것입니다. 이건 오류가 아니라 정상입니다. 그 화면이 바로 어셈블리이고, 이 사이트의 존재 이유이기도 하지요.
그래서 처음이라면 실행 결과부터 보고 싶으실 텐데, 이 경우 실행(Execute) 패널을 따로 추가해야 합니다. 기본 화면은 "실행"이 아니라 "컴파일 결과 보기"에 맞춰져 있기 때문입니다.
또 하나, 코드에 main 함수를 넣고 아무 최적화 옵션도 주지 않으면 어셈블리가 지나치게 길어져 읽기 어려워집니다. 함수 하나만 딸랑 적고 -O2를 주는 것이 비교 실험에는 훨씬 좋습니다.
이런 분들에게 특히 유용합니다
성능 최적화를 두고 팀 안에서 의견이 갈리는 상황에 자주 놓이는 개발자라면 효과가 가장 큽니다. 말로 하던 주장을 링크 하나로 증명할 수 있으니, 회의 시간 자체가 짧아집니다.
C++나 Rust를 독학하면서 "이 문법 설탕이 실제로 비용이 있느냐"가 늘 궁금했던 분에게도 좋습니다. 책이 설명으로만 넘어가는 부분을 눈으로 직접 확인할 수 있으니까요.
회사 노트북에 관리자 권한이 없어 컴파일러를 설치하지 못하는 상황이라면 사실상 유일한 대안이 되기도 합니다. 브라우저만 열리면 되기 때문입니다.
면접이나 스터디에서 코드 조각을 자주 공유해야 하는 분에게도 잘 맞습니다. 상대의 환경을 신경 쓸 필요가 없어지지요.
장점과 아쉬운 점
장점은 명확합니다. 설치가 0분이고, 컴파일러 버전 관리에서 완전히 해방되며, 결과를 링크로 그대로 넘길 수 있다는 점입니다. 로컬에 GCC와 Clang을 버전별로 깔아 관리하던 수고를 생각하면 절감 효과가 상당하지요.
아쉬운 점도 정직하게 짚겠습니다. 우선 화면과 문서가 전부 영어입니다. 한국어 인터페이스가 없어서 옵션 이름을 눈으로 익혀야 합니다.
그리고 어셈블리를 어느 정도 읽을 줄 알아야 진짜 값어치가 나옵니다. 완전한 입문자가 열면 그냥 알 수 없는 글자 더미로 보일 수 있습니다.
또한 공개 서버를 여럿이 함께 쓰는 구조라 아주 무거운 코드나 긴 컴파일 작업에는 적합하지 않습니다. 실행 시간과 자원에 제약이 걸려 있기 때문이지요.
무료 범위에 대해서는, 이 사이트는 회원가입이나 결제 없이 접속만으로 이용할 수 있고 유료 플랜 자체가 전면에 없는 형태입니다. (2026년 8월 23일 확인 기준) 다만 운영 정책은 바뀔 수 있으니, 회사 코드처럼 민감한 내용을 올리기 전에는 사이트 안내를 한 번 확인하시는 게 정확합니다.
요약
컴파일러 익스플로러는 컴파일러 설치와 버전 관리에 쓰던 시간을 통째로 없애주는 무료 웹 도구입니다. 주소만 열면 수십 종의 컴파일러가 이미 준비된 화면이 뜨고, 코드를 치는 즉시 어셈블리가 나옵니다.
여러 컴파일러를 나란히 비교할 수 있어 성능 논쟁을 추측이 아니라 증거로 끝낼 수 있고, 화면 상태 그대로를 링크로 넘길 수 있어 "내 환경에서는 된다"는 문제도 사라집니다.
오픈소스로 공개되어 있어 서비스가 갑자기 사라질 걱정도 적습니다. 영어 화면과 어셈블리 지식이라는 문턱만 넘으면, 설치 없이 쓸 수 있는 가장 값어치 있는 개발 도구 중 하나라고 할 수 있습니다.
4. 신(하나님)은 과연 존재하는가? 신이 존재한다는 증거가 있는가?
ChatGPT, 유튜브 프리미엄, 넷플릭스 구독료 80% 할인 받는 법 (클릭)
함께 보면 좋은 글
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.