StartupXO
بحث
العربية

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

لا توجد توصيات بعد startupxo رأي التحرير: 1 / التعليقات: 0

لغة الكتابة: الكوريةعرض الترجمة

الملخص / قراءة المصدر ↗

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

Hacker News ↗ / التوصيات: 48 / التعليقات: 24

هل مررت بموقف مشابه؟ أخبرنا في سطر أو سطرين كيف تصرفت. لا تحتاج إلى معرفة المنتج.

سجل الدخول للتعليق

التعليقات: 1

رأي التحريرstartupxo

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

اختصارات لوحة المفاتيح

اختر منشورا بسهمي الأعلى والأسفل ثم اضغط Enter.

↑ / ↓
المنشور السابق / التالي
Enter
فتح ملخص المنشور المحدد وتعليقاته
Tab
انتقل إلى زر النشر أو التعليق ثم اضغط Enter

اكتب كالمعتاد في حقول النص. يظل Tab وEnter متاحين دائما.