×
Traktatov.net » Язык программирования C++. Пятое издание » Читать онлайн
Страница 7 из 714 Настройки
:

>$ g++ -о prog1 prog1.cc

где >$ — это системное приглашение к вводу; >-о prog1 — аргумент компилятора и имя получаемого исполняемого файла. Данная команда создает исполняемый файл по имени >prog1 или >prog1.exe, в зависимости от операционной системы. На операционной системе UNIX исполняемые файлы не имеют расширения, а в операционной системе Windows они имеют расширение >.exe. Если пропустить аргумент >-о prog1, то компилятор создаст исполняемый файл по имени >a.out (на системе UNIX) или >a.exe (на Windows). (Примечание: в зависимости от используемого выпуска компилятора GNU, возможно, понадобится добавить аргумент >-std=c++0x, чтобы включить поддержку С++ 11.)

Для вызова компилятора Microsoft Visual Studio 2010 используется команда >c1:

>С:\Users\me\Programs> cl /EHsc prog1.cpp

где >C:\Users\me\Programs> — это системное приглашение к вводу; >\Users\me\Programs — имя текущего каталога (или папки). Команда >cl запускает компилятор, а параметр компилятора >/EHsc включает стандартную обработку исключений. Компилятор Microsoft автоматически создает исполняемый файл с именем, которое соответствует первому имени файла исходного кода. У исполняемого файла будет суффикс >.exe и то же имя, что и у файла исходного кода. В данном случае исполняемый файл получит имя >prog1.exe.

Как правило, компиляторы способны предупреждать о проблемных конструкциях. Обычно эти возможности имеет смысл задействовать. Поэтому с компилятором GNU желательно использовать параметр >-Wall, а с компиляторами Microsoft — параметр >/W4.

Более подробная информация по этой теме содержится в руководстве программиста, прилагаемом к компилятору.

Упражнения раздела 1.1.1

Упражнение 1.1. Просмотрите документацию по используемому компилятору и выясните, какое соглашение об именовании файлов он использует. Откомпилируйте и запустите на выполнение программу, функция >main() которой приведена в разд. 1.1.

Упражнение 1.2. Измените код программы так, чтобы функция >main() возвращала значение >-1. Возвращение значения >-1 зачастую свидетельствует о сбое при выполнении программы. Перекомпилируйте и повторно запустите программу, чтобы увидеть, как используемая операционная система реагирует на свидетельство об отказе функции >main().

1.2. Первый взгляд на ввод-вывод

В самом языке С++ никаких операторов для ввода и вывода (Input/Output — IO) нет. Их предоставляет стандартная библиотека (standard library) наряду с обширным набором подобных средств. Однако для большинства задач, включая примеры этой книги, вполне достаточно изучить лишь несколько фундаментальных концепций и простых операций.

В большинстве примеров этой книги использована библиотека>iostream. Ее основу составляют два типа, >istream и >ostream, которые представляют потоки ввода и вывода соответственно. Поток (stream) — это последовательность символов, записываемая или читаемая из устройства ввода-вывода некоторым способом. Термин "поток" подразумевает, что символы поступают и передаются последовательно на протяжении определенного времени.

Стандартные объекты ввода и вывода

В библиотеке определены четыре объекта ввода-вывода. Для осуществления ввода используется объект