C# для начинающих - страница 10

Шрифт
Интервал



Рис. 1.22. Пример подсказки

Трансляция

Процесс преобразования исходной программы в выполняемую называется трансляцией. Во время трансляции исходная программа, то есть программа, записанная на языке программирования, преобразуется в выполняемую программу, представляющую собой последовательность двоичных чисел, кодирующих данные и команды процессора. Здесь следует обратить внимание на то, что, строго говоря, выполняемая программа, создаваемая транслятором C#, содержит не команды процессора, а некоторое промежуточное представление программы, которое в процессе запуска программы (загрузки программы в операционную память компьютера) преобразуется в команды процессора.

Процесс создания выполняемого файла С# программы может быть представлен как последовательность этапов предварительной обработки, компиляции и компоновки (рис. ).

Рис. Процесс создания выполняемого файла

Препроцессор выполняет предварительную обработку исходной программы. Он просматривает текст исходной программы и выполняет директивы, которые в ней находятся (директива – инструкция, начинающаяся символом #). Если с исходной программе директив препроцессору нет, то обработка не выполняется и текст программы передается компилятору без изменений.

Компилятор обрабатывает сформированную препроцессором программу: проверяет ее на наличие синтаксических и семантических. При обнаружении синтаксической ошибки, например, необъявленного идентификатора (переменной), выводится сообщение об ошибке. При обнаружении семантической ошибки, например переменной, которая объявлена, но в программе не используется, выводится предупреждение.

Если в программе нет синтаксических ошибок, то запускается процесс компоновки. Компоновщик собирает выполняемую программу – добавляет к сформированному компилятором коду код других модулей.

Чтобы активизировать процесс создания выполняемого файла, надо в меню Сборка выбрать команду Собрать решение. Если в программе ошибок нет, то в окно Вывод будет выведено сообщение об успешном завершении процесса сборки (рис . ).


Рис. Пример сообщения об успешной сборке программы

Если в программе есть ошибки, то выводится сообщение об ошибках, предупреждения и информация о неудачном завершении процесса сборки (рис. ).


Рис. Пример сообщения о неуспешной сборке программы