Ми знаємо, що компілятор відповідає за виявлення синтаксичних помилок (з лінкером). Логічно, фаза компіляції починається, коли ми запускаємо програму, натиснувши run
або F7
. Проте ми помічаємо останні версіївізуальна студія, компілятор може визначити деякі помилки (наприклад, підкреслює невизначені функції червоним кольором), перш ніж навіть запустити тест коду. Моє питання: як це відбувається? чи працює компілятор у фоновому режимі під час фази редагування?
Відповіді:
1 для відповіді № 1Microsoft Intellisense використовує інструмент під назвою EDG C ++ Front End, що в основному є першою половиною компілятора Edison Design Group C ++. Програма EDG досить відома в світі компіляторів для розуміння незавершене вихідний код - такі речі, як "ви забули aкрапка з комою "і" ця лінія погана, але я можу повернутися в синхронізацію для наступного рядка. "Але це інша технологія компілятора, ніж Visual C ++ (як компілятор, це не так добре), тому іноді ви отримаєте попередження в Intellisense про код, який повністю відповідає, коли ви натискаєте F7 ("Compile").