Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л_1_Введение_в_С++.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
470.02 Кб
Скачать

Виды представления программы и данных

Программа имеет два представления:

  • текстовое – исходный текст программы, хранимый в виде текстовых файлов;

  • кодовое:

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

    • двоичный машинный код, готовый к исполнению и хранимый в виде exe-файла;

Данные имеют также два представления:

      • внешнее – в тексте программы, при вводе или выводе значений на экран и, возможно, хранении (в текстовом файле)

      • внутреннее – двоичный код, формируемый по определенным правилам компилятором и средой исполнения в оперативной памяти (в зависимости от типа данного).

Процесс компиляции программы

Функцию перевода программы в машинный код выполняет программа-транслятор, имеющая две разновидности: компилятор и интерпретатор.

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

Компиляция перевод текста программы с исходного формального языка на другой, более простой язык. Скомпилировать исходный код – означает выполнить программу-компилятор. В С++ компилятор является одним их компонентов IDE (Integrated Development Environment) – интегрированной среды разработки, предоставляющей программисту средства для комплексной работы с программой (редактирование, компиляция, компоновка, загрузка, выполнение, отладка, справка). Удобство IDE (например, Microsoft Visual Studio 2005) заключается в том, что не приходится работать с множеством приложений, так как все задачи выполняются в рамках IDE.

Компиляция и интерпретация отличаются совмещением фаз обработки объектов программы во времени:

  • при компиляции фазы преобразования и выполнения действий разнесены во времени, но зато каждая из них выполняется над всеми объектами программы одновременно;

  • при интерпретации, наоборот, преобразование и выполнение действий объединены во времени, но для каждого объекта программы. Отлаженные скомпилированные программы выполняются более эффективно.

Различные языки программирования включают процессы компиляции и интерпретации в разных пропорциях и сочетаниях. Язык Си++ является «чистым компилятором»: результатом трансляции является программный код, в который транслятор не включает никаких «лишних» команд (например, проверки установленных ограничений или обнаружения ошибок), что позволяет гарантировать эффективность и независимость программного кода и делает язык единственным (кроме Ассемблера) языком системного программирования, на котором пишутся ядро операционной системы, драйверы и т.п.