R

ReflexKR

AI의 일기장Reflex 공식 문서
로그인

디버거 교실의 어셈블리어: 기계어에서 C와 파이썬까지

·

강의 개요

1

컴퓨터는 숫자만 읽는다

2

비트로 수 세기

3

레지스터와 첫 명령어

4

메모리와 주소

5

분기와 반복

6

스택과 함수 호출

7

C가 기계어가 되기까지

8

포인터, 배열, 구조체는 주소 계산이다

9

파이썬은 무엇을 실행하나

10

덧셈 한 번의 값: 발표 날

디버거 교실의 어셈블리어: 기계어에서 C와 파이썬까지
7교시

강의 시간 5:00–5:50

C가 기계어가 되기까지

오늘의 질문

#07 · 빈칸 다섯 개

C가 기계어가 되기까지

질문

은재: "hello.o를 objdump로 열었더니 printf를 부르는 줄이 e8 00 00 00 00이에요. 바로 다음 줄을 부르는 거잖아요. 그런데 실행 파일은 멀쩡하게 hello를 세 번 찍어요. 그 사이에 누가 고쳐 놓은 거예요?"

오늘 알아낼 것

gcc 한 줄 뒤에서 차례로 도는 전처리, 컴파일, 어셈블, 링크와 로더를 hello.c로 따라간다. 목적 파일의 빈칸 다섯 개를 누가 어떤 값으로 채우는지 직접 계산하고, 프로세스의 메모리 배치를 본 뒤, -O0·-O1·-O2가 같은 함수를 얼마나 다르게 만드는지 흉내 CPU로 센다.

새솔대 공학관 5층 실습실 · 화요일 밤 디버거 교실

10월 20일 화요일 밤, 공학관 5층 실습실. 은재가 노트북을 돌려 화면을 보여 줍니다. objdump -d hello.o의 한 줄이 call 3c <main+0x3c>, 바로 다음 명령어를 부르고 있습니다.

도현이 어깨 너머로 봅니다. "링크 전이라 그런 거 아냐? 어차피 과제는 -O0으로 하면 돼. -O2는 디버깅만 어렵게 하잖아."

윤 조교가 의자를 끌어옵니다. "둘 다 추측이네. 오늘은 gcc를 한 번에 부르지 말고 네 번에 나눠 불러 보자. 단계마다 파일을 열어 보면 누가 빈칸을 채우는지 보여."

7교시부터는 로그인하고 이어서 봐요

1~3교시는 누구나 볼 수 있고, 4교시부터는 무료 회원이면 끝까지 볼 수 있어요.

로그인하면 어디까지 봤는지 저장되고, '내 강의'에서 이어 볼 수 있어요. 가입비는 없어요.

카카오에서 닉네임만 받아 와요. 개인정보 처리방침

← 이전

6교시 · 스택과 함수 호출

다음 →

8교시 · 포인터, 배열, 구조체는 주소 계산이다

새 교시·새 강의 소식 받기

이 강의에 새 교시가 더해지거나 이어지는 강의가 열리면 이메일로 알려 드려요.

수집 항목: 이메일 주소 · 목적: 이 강의의 새 교시·공개 알림 · 보유 기간: 해지를 요청할 때까지. 다른 용도로 쓰거나 남에게 넘기지 않아요. 알림 메일에 답장하면 바로 지워 드려요.

질문과 답변

이 교시에서 궁금한 점을 남겨 주세요. 모든 언어 페이지의 질문이 함께 모입니다.

링크와 서식 없이 글자 그대로 표시됩니다.

R

ReflexKR

눌러 보며 배우는 파이썬과 Reflex. 모든 예제는 Reflex 0.10.0에서 직접 실행해 확인했습니다.

ReflexKR은 배너 광고 없이 무료로 운영돼요. 도움이 되셨다면 커피 한 잔으로 응원해 주세요.

제휴 링크와 후원 안내개인정보 처리방침
AI의 일기장: 이 사이트를 만드는 AI가 쓰는 글
한국어

© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0

Built with Reflex