정의되지 않은 동작(UB) 의 결과를 예측할 수 있고 최악에도 세그멘테이션 폴트만 발생한다는 생각은 코드 예제의 실제 컴파일 결과와 어긋남 GCC 16.2의 -O1 예제에서는 std::unreachable() 뒤에 함수 복귀 명령이 없어, 호출하지 않은 explode()의 코드까지 실행됨 널 포인터 역참조 예제에서 GCC는 코드에 적힌 99 대신 주소 0에 0을 쓰고 ud2로 중단하는 코드를 생성하지만, Clang은 뒤에 배치된 함수 코드로 실행이 이어짐 널 포인터에 ptr += 10을 적용한 예제에서는 주소 40에 99를 쓰는 코드가 생성되며, 예상한 결과와 일치하더라도 UB라는 점은 달라지지 않음 컴파일러는 UB를 탐지할 의무가 없으며, 같은 위치에서 유발한 UB라도 뒤따르는 코드 실행, 다른 값 저장과 강제 종료, 겉보기대로 동작하는 결과가 모두 가능함 호출하지 않은 함수 실행과 널 포인터 쓰기 앞선 C의 정의되지 않은 동작에 관한 글에 일부 독자는 동작을 알 수 있으며 최악에도 세그멘테이션 폴트만 발생한다고 반응했지만, 다음 예제들은 그렇지 않은 결과를 보임 예제는 모터와 기어를 제어하는 메모리 매핑 장치를 가정하고, volatile int device_command 를 0으로 초기화함 serve_hot_chocolate()는 device_command = 42를 실행한 뒤, 해당 지점에서 UB를 유발하는 std::unreachable()을 호출함 그다음 정의된 explode()는 device_command = 3을 실행함 GCC 16.2, -O1 의 어셈블리 출력에는 42를 저장하는 명령과 explode()의 3을 저장하는 명령 사이에 복귀 명령이 없음 따라서 explode()를 호출하지 않았어도 그 코드까지 실행한 뒤 ret에 도달함 std::unreachable()을 int* ptr = nullptr; *ptr = 99;로 바꾼 GCC 결과는 주소 0에 0을 쓰는 명령과 ud2를 생성함 원래 코드의 99는 생성된 프로그램에 나타나지 않으며, ud2는 잘못된 명령어로 프로그램을 중단시킴 널 포인터 쓰기를 남긴 이유가 디버거 오류 메시지 개선을 위한 것인지는 추측에 불과함 같은 널 포인터 역참조 예제의 Clang 결과는 42를 저장한 뒤 3을 저장하는 코드로 이어짐 이 경우에도 호출하지 않은 explode()의 코드가 실행됨 널 포인터 산술과 UB가 허용하는 결과 널 포인터에 ptr += 10 을 추가...
정의되지 않은 동작(UB)이 괜찮다고 생각하는 사람들에게
2 hours ago
3
Related
C 밖에서 이식성 있게 errno에 접근하는 괴상하고 엉망인 꼼수
15 minutes ago
0
진화하는 위협: Node, Python 등에서 원격 코드 실행을 일으키는 http2shell
41 minutes ago
0
CVE Tracker - 1999년부터의 CVE 공개 건수를 시각화하는 대시보드
44 minutes ago
0
이것이 사이버 보안의 새로운 일상인가?
1 hour ago
2
순수 함수형 프로그래밍은 C 성능에 얼마나 근접할 수 있을까?
2 hours ago
3
해커, 독일 극우 정당 AfD의 데이터 281GB 유출
3 hours ago
4
Show GN: AIDAN - 가입 없이 10문항 무료 연습과 4개 언어 교재
3 hours ago
4
TalkShield - PC 카카오톡 광고를 지워주는 43KB 무설치 오픈소스 트레이 앱
4 hours ago
4
Tips
click
Popular
직장인으로서 부를 쌓는 방법
1 week ago
323
[아시안게임] 유도 김민종, 남자 100㎏이상급 동메달…2회 연속 메달
3 weeks ago
290
[2026 노벨상] 생리의학상…뇌에 대한 이해 바꿔놓은 이들에게
2 weeks ago
279
How DataXStream Accelerates Sales and Customer Engagement wi...
3 weeks ago
278
마이크론이 먼저 확인한 메모리 호황…삼성·SK하이닉스는 '비용 변수'
2 weeks ago
277
박진영, 12월 서울서 사흘간 연말 콘서트 '웨트'
3 weeks ago
275
방탄소년단, 자체예능 '달려라 방탄 2.0'으로 돌아온다
3 weeks ago
274
Show GN: 5달러 시계에 Claude·Codex 사용량을 띄워봤습니다
2 weeks ago
273
로민 '다큐먼트 AI 플랫폼', KISA 클라우드 보안인증 획득
3 weeks ago
265
Accelerate your SAP modernization with Kiro
3 weeks ago
265
© Clint IT 2026. All rights are reserved

![[아시안게임] 유도 김민종, 남자 100㎏이상급 동메달…2회 연속 메달](https://img3.yna.co.kr/photo/yna/YH/2026/10/02/PYH2026100223210001300_P4.jpg)
![[2026 노벨상] 생리의학상…뇌에 대한 이해 바꿔놓은 이들에게](https://image.inews24.com/v1/a8cf79c5a2313a.jpg)





English (US) ·