100______________________________________________Глава 2

никакие другие модули. Если компиляция прошла успешно, создается объектный
файл .obj откомпилированного модуля.

Команда Make выполняет компиляцию всех тех модулей, тексты которых
были изменены с момента предыдущей компоновки проекта. Если компиляция
прошла успешно, то создаются объектные файлы модулей .obj и осуществляется
компоновка программы. Если и она прошла успешно, то создается выполняемый
модуль .ехе. Таким образом, отличие Make от Run только в том, что после компо-
новки не производится выполнение приложения.

Команда Build подобна команде Make за одним исключением — компилируют-
ся все модули, независимо от того, когда они в последний раз изменялись. Конеч-
но, выполнение этой команды требует наибольшего времени. Но иногда только ее
и можно использовать. Например, если с момента последней компиляции вы ниче-
го не изменяли в модулях, но хотите откомпилировать проект с новыми опциями
компилятора, например, изменить уровень оптимизации. Тогда все иные коман-
ды, кроме Build, не произведут повторной компиляции. Так что эта команда во
многих случаях необходима.

Помимо описанных команд компиляции имеется еще две: Project Make All Pro-
jects и Project | Build All Projects. Они подобны рассмотренным командам Make и Build,
но при работе с группой проектов (см. раздел 2.4.5) относятся не к одному, а ко
всем проектам группы.

2.4.8.2 Сообщения компилятора и компоновщика

В предыдущем разделе рассмотрены команды компиляции проекта. Теперь
давайте посмотрим, какие сообщения об ошибках и какие предупреждения выдает
компилятор и как на них надо реагировать. Давайте для этого сделаем простое
приложение с ошибочными операторами. Начните новое приложение, перенесите
на форму метку Label и кнопку Button. В обработчик щелчка кнопки введите сле-
дующие операторы:

void _fastcall TFormI::ButtonlClick(TObject *Sender)
(

int i,j;

double A;

for(i = 0; i < 50; i++)
A *= 10000;

Labell->Caption = "A = " + B;

1

Этот код содержит цикл for, который выполняется 50 раз, увеличивая в каж-
дой итерации переменную А в 10000 раз.

Попробуйте выполнить команду Run | Run, или нажать соответствующую быст-
рую кнопку, или нажать клавишу F9. Вы увидите в окне Редактора Кода картину,
показанную на рис. 2.33.

Рис. 2.33

Окно Редактора Кода с
сообщениями о замечаниях и
ошибках