TGViewer
C/C++ Development | YeaHub C/C++ Development | YeaHub @yeahub_c_development · 742 subscribers
Post #378 329
#полезное
🤯 Знаете ли вы, что компилятор может удалить ваш код?

Компиляторы C всегда стараются сделать ваш код максимально быстрым. Один из инструментов для этого называется Dead Code Elimination (удаление «мертвого кода»).

Если какая-то часть кода не влияет на наблюдаемое поведение, например, вывод через printf, ввод/вывод, изменение глобального состояния — компилятор пытается безопасно её удалить.

Рассмотрим пример на изображении: если вы никогда не используете sum позже, например, никогда не выводите его, компилятор понимает, что этот цикл бесполезен. Весь цикл будет удалён.

В результате бинарник может работать значительно быстрее. Но если вы добавите printf("%d\n", sum);, компилятор сохранит этот цикл, так как он влияет на наблюдаемое поведение. Это также правило As-If.

👉Новости 👉База вопросов
  • 👍 2
  • 🤯 1
More from @yeahub_c_development
  1. Oct 9, 2026#video #архитектура 📚 Road to Highload: видеопроект о проектировании архитектуры высокона…
  2. Oct 8, 2026#Собес #Docker_Registry #container_registry #Docker_Hub 🤔 Что такое Docker Registry и для…
  3. Oct 7, 2026#Собес #stack #heap #memory_management 🤔 Как отличается время жизни объектов в стеке и ку…
  4. Oct 5, 2026#Собес #stl #containers #algorithms 🤔 Что такое STL в C++? 💬 Кратко: STL (Standard Templ…
  5. Oct 2, 2026#trainer #tutorials #exercise 📚 W3schools На сайте представлены интерактивные уроки и спр…
  6. Oct 1, 2026#Собес #git_хуки 🤔 Из чего состоят “хуки” в Git? 💬 Кратко: Хуки в Git — это скрипты, кот…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →