Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пп (кроме 1,21,37).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
182.5 Кб
Скачать

9. Директивы препроцессора: #include, #define, #error, #pragma, операции # и ##

#pragma - это директива препроцессора, которая реализует возможности компилятора. Эти особенности могут быть связанны с типом компилятора.Разные типы компиляторов могут поддерживать разные директивы. #include "имя. файла "  заменяет эту строку полным содержимым файла имя. файла. Если не указан путь то файл сначала ищется в директории исходного файла , затем в директории заданной в опциях компилятора(обычно директория Include). #include <имя. файла> включение файла(в заголовок) ищет файл только в директории заданной в опциях компилятора.

#define идентификатор строка символов заменяет все последующие вхождения идентификатора строкой символов.  #define можно применять также для определения макросов #error сообщение об ошибке останавливает работу компилятора и выдает сообщение об ошибке  #pragma - это директива препроцессора, которая реализует возможности компилятора. Эти особенности могут быть связанны с типом компилятора.Разные типы компиляторов могут поддерживать разные директивы.

Операция # и ##

#-ставит последующий за ней текст в «».

##-?

10. Структура проекта в среде Visual C++.

Программы в Visual C++, состоят из совокупности нескольких файлов, называемых одним словом — проект. Программа на языке C, это совокупность функций, т.е кода понятного среде программирования, и структурированного по определенным принципам языка C, а приложение — главная функция, внутри которой помещаются переменные, константы, в обшем операторы которые реализуют сам алгоритм приложения.Выполнение любой программы начинаеться с главной функции, которая содержит в себе всю остальную часть программы. Основные функции написаны самим программистом, другие содержаться в среде программирования и подключаються с помощью специальных операторов, это так называемы библиотечные функции. Изучая C/C++ мы будем использовать консольные приложения, которые формируються в виде шаблонов, присутствующих в среде программирования.

Есть разница между решением в целом и проэктом

Решение –это отдельный проэкт в рамках решения. В него входит файл исходного кода h.cpp и файлы ресурсов( любая информация , которая присоединяется к исполняемому файлу).

1

2

3

4

5

6

7

// pro_1.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

int _tmain()

{

 

11. Компиляция программы и сборка исполняемого модуля.

компиляции - здесь осуществляется перевод программы на язык машинных команд;

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

Во время компиляции каждый cpp файл компилируется отдельно а затем происходит сборка (компановка).когда отдельные модули объектные с расширением (obj) объединяются в исполняемый файл exe. (или другой).

12. Размещение программы и данных в памяти.

Программа загружается в адресное пространство.При запуске программы операционная система выделяет адресное пространство.В него загружается из образа файла (exe) загружается программа с развертыванием по тем правилам , которые описаны в exe. файле. В результате мы получаем несколько секторов (сектор кода-сектор статических данных).Во время запуска статические данные выделяются из фиксированной памяти. Далее запускается сама программа, отрабатывает запуски всех dll. Файлов , замем файлы исполняющей среды, затем

запускается весь код , который мы не контролируем, далее запускается программа с функцией main.

Размещение в памяти

Появляются локальные переменные внутри тела функции и для них выделяется место в стеке .

Все динамические объекты(массивы данных) хранятся в динамической памяти.