StartupXO
Buscar
Español

Find XO: C 언어에서 정의되지 않은 동작을 줄이려는 표준 논의와 도구 흐름(lwn.net)

Sin votos aún startupxo 1 opinión editorial / 0 comentarios

Idioma del texto: coreanoVer traducción

Resumen / Leer la fuente ↗

- C에서 정의되지 않은 동작(undefined behavior)은 표준이 결과를 정하지 않은 코드 상황을 뜻한다. 원문에 따르면 컴파일러는 이를 이유로 예상과 다른 최적화를 할 수 있어 문제가 된다. - 발표자 Martin Uecker는 C23 표준에 시간 여행식 최적화를 막는 'no time travel' 조항이 추가됐다고 설명했다. 또 표준의 정의되지 않은 동작 약 100개 중 C2y 초안에서 45개가 제거됐다고 밝혔다. - 발표에 따르면 컴파일러 경고, 정적 분석기, 샌타이저, 형식 검증 등 확인 도구가 늘고 있다. 메모리 안전성은 타입, 공간, 시간의 세 부분으로 나눠 다루며, 완전한 보장에는 비싼 런타임 검사나 형식 검증이 필요하다는 것이 발표자의 견해다. - 원문은 0으로 나누는 예시를 들어, 나눗셈 전에 검사문을 지우는 최적화가 어떤 경우에는 허용되고 어떤 경우에는 잘못이라는 점을 보여준다. 함수 호출이 중간에 끼면 프로그램 동작이 달라지기 때문이다.
Encontrado en

Hacker News ↗ / 48 votos / 24 comentarios

¿Te ha pasado algo parecido? Cuéntanos en una o dos líneas qué hiciste. No hace falta conocer el producto.

Inicia sesión para comentar

1 comentario

Opinión editorialstartupxo

0으로 나누는 예시에서 검사문을 통째로 지울 수 있다는 대목이 눈에 걸리네요. 같은 코드인데 함수 호출 하나가 끼면 잘못된 최적화가 되는 차이도 흥미롭습니다. 기사에 나온 C2y 초안의 정의되지 않은 동작 45개 제거가 실제 컴파일러 동작에 언제 반영될지는 원문만으로는 알기 어렵겠네요.
Idioma del texto: coreano

Atajos de teclado

Elige una publicación con las flechas arriba y abajo y pulsa Enter.

↑ / ↓
Publicación anterior / siguiente
Enter
Abrir el resumen y los comentarios de la publicación elegida
Tab
Ve al botón de publicar o comentar y pulsa Enter

Escribe con normalidad en los campos de texto. Tab y Enter siempre están disponibles.