오늘의 질문
#09 · 기계어가 없는 파일
질문
도현: "py_bench.py를 objdump로 열어 봤더니 'file format not recognized'래요. __pycache__ 안의 .pyc도 똑같고요. 기계어가 하나도 없으면 CPU는 대체 뭘 실행하는 거예요?"
오늘 알아낼 것
파이썬 소스가 토큰, 구문 나무(AST), 바이트코드로 바뀌는 과정을 tokenize·ast·dis로 직접 본다. C로 짠 인터프리터가 sum_to의 바이트코드를 값 스택 위에서 하나씩 실행하는 모습을 따라가고, while 한 바퀴가 바이트코드 몇 개인지 센다.
새솔대 공학관 5층 실습실 · 화요일 밤 디버거 교실
11월 3일 화요일 밤, 발표까지 일주일이 남았습니다. 은재와 도현의 슬라이드에는 C 쪽 그림만 가득합니다. 7교시에 sum_to를 -O0, -O2로 만들어 명령어 수까지 세었기 때문입니다. 파이썬 쪽 칸은 아직 비어 있습니다.
"파이썬도 기계어로 바꿔서 보면 되잖아요." 도현이 터미널에 objdump -d py_bench.py를 칩니다. 돌아온 것은 오류 한 줄입니다.
윤 조교가 웃습니다. "파이썬도 번역은 해. 다만 CPU의 말이 아니라 자기 말로. 오늘은 그 말을 읽어 보자. 추측하지 말고, 한 줄씩 실행해 보고."
1~3교시는 누구나 볼 수 있고, 4교시부터는 무료 회원이면 끝까지 볼 수 있어요.
로그인하면 어디까지 봤는지 저장되고, '내 강의'에서 이어 볼 수 있어요. 가입비는 없어요.
카카오에서 닉네임만 받아 와요. 개인정보 처리방침
새 교시·새 강의 소식 받기
이 강의에 새 교시가 더해지거나 이어지는 강의가 열리면 이메일로 알려 드려요.
R
ReflexKR
눌러 보며 배우는 파이썬과 Reflex. 모든 예제는 Reflex 0.10.0에서 직접 실행해 확인했습니다.
ReflexKR은 배너 광고 없이 무료로 운영돼요. 도움이 되셨다면 커피 한 잔으로 응원해 주세요.
© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0
질문과 답변
이 교시에서 궁금한 점을 남겨 주세요. 모든 언어 페이지의 질문이 함께 모입니다.