Доступ к функциям в многомодульной программе

 

При вызове функции из другого модуля нужно объявить ее как extern и далее описать прототип. В этом случае функция становится видна в другом модуле. Если объявление глобально, то ее можно вызывать в любой функции данного модуля. Если объявление локально, то она доступна только в той функции, где сделано объявление.

 

Файл 1 Файл 2

 

Таблица 1. Классы памяти и инициализация

Класс Хранения Внешний Extern Внешний Статический static Аргумен. Функции Автоматические auto Регистровые Register Внурен. Статические Static
Область действия Программа Модуль Функция Блок Блок Блок
Время Жизни Программа Программа Функция Блок Блок Программа
Область Хранения Сегмент Данных Сегмент данных Сегмент стека Сегмент стека Регистры МП Сегмент данных
Инициал-емость объектов Все Все Не раз-решена в Си Все в С++   Все Все
Момент инициализации На стадии Компил. На стадии компил. При входе в блок При входе в блок При входе в блок На стадии компил.
Инициализация по умолчан. Инициализируются 0 Инициализируются 0 Значение указывается Значение не опред. Значение не опред. Инициализируется 0

 

ПРЕПРОЦЕССОР ЯЗЫКА СИ

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

1. Подстановкой имен;

2. Включением файлов;

3. Условной компиляцией.

Это позволяет создавать мобильные, более удобочитаемые и более удобные для сопровождения программы.

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

 

Подстановка имен

 

Директивы:

#define– создать макроопределение

#undef- удалить макроопределение

Директива #define служит для:








Дата добавления: 2018-11-25; просмотров: 419;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.