Компилатора на C++ превръща кода, който пишете в оптимизиран изпълним машинен код. Това става на няколко последователни етапа. Ще ги разгледаме накратко.
1. Изпълняват се макросите на пред процесора
Това са онези неща, на които не обръщаме внимание. Тези с хаш – тага. Но те правят много работи.
- #include добавя текста на файл;
- #define замества макрос;
- #ifndef означава „if not defined„;
- #endif край на последния макрос;
Основната им задача е да не повтарят вече вмъкнат код във файла за компилация.
2. Процеса на компилация
C++ не компилира всичко на веднъж. А прави обектен файл от всеки наш .cpp файл. И това е стара история. Генерира се .obj или .o файл. Тук се проверява логиката и синтаксиса. И компилатора иска да знае как се случва всичко. Първо компилатора превежда в свой код. После оптимизира кода до инструкции за нашия процесор.
3. Linker
Свързва обектните файлове в един изпълним файл.
Как работи процеса
