Студопедия — R.3.3 Программа и связывание
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.3.3 Программа и связывание






Программа состоит из одного или нескольких файлов, связываемых вместе($$R.2). Файл состоит из последовательности описаний. Имя с файловой областью видимости, которое явно описано какstatic, является локальным в своей единице трансляции и можетиспользоваться для именования объектов, функций и т.п. в другихединицах трансляции. Говорят, что такие имена имеют внутреннеесвязывание. Имя с файловой областью видимости, которое явно описаносо спецификацией inline, является локальным в своей единицетрансляции. Имя с файловой областью видимости, которое явно описаносо спецификацией const и не описано явно как extern, считаетсялокальным в своей единице трансляции. То же верно для имени класса,которое не использовалось в нелокальных для данной единицытрансляции описаниях объекта, функции или класса, и который неимеет статических членов ($$R.9.4), не имеет функций-членов, кромеподстановок ($$R.9.3.2). Всякое описание некоторого имени сфайловой областью видимости, которое не описано одним из перечисленныхспособов так, чтобы иметь внутреннее связывание, в многофайловойпрограмме обозначает один и тот же объект ($$R.3.7), функцию($$R.8.2.5) или класс ($$R.9). Такие имена называются внешними илиговорят, что они имеют внешнее связывание. В частности, посколькунельзя описать имя класса как static, всякое употребление именинекоторого класса с файловой областью видимости, который (класс)использовался для описания объекта или функции с внешним связыванием,или же который имеет статический член или функцию-член,не являющуюся подстановкой, будет обозначать один и тот же класс. Имена определяемых типов (typedef $$R.7.13), элементы перечисления($$R.7.2) или имена шаблонов типа ($$R.14) не имеют внешнегосвязывания. Статические члены класса ($$R.9.4) допускают внешнее связывание. Функции-члены, не являющиеся подстановкой, допускают внешнеесвязывание. Функции-члены, являющиеся подстановкой, должны иметьв точности одно определение в программе. Локальные имена ($$R.3.2), явно описанные со спецификациейextern, имеют внешнее связывание, если только они уже не былиописаны как static ($$R.7.1.1). Типы, используемые во всех описаниях некоторого внешнего имени,должны совпадать, за исключением использования имен определяемыхтипов ($$R.7.1.3) и указания границ массивов ($$R.8.2.4).Должно быть в точности одно определение для каждой функции, объекта,класса и элемента перечисления, используемых в программе. Однако,если функция никогда не вызывается и ее адрес никогда не используется,ее не нужно определять. Аналогично, если имя класса используетсятолько таким образом, что не требуется знать определение класса,то класс не нужно определять. Область видимости функции может быть только файл или класс. С помощью спецификации связывания можно добиться связывания сописаниями на другом языке ($$R.7.4).







Дата добавления: 2015-09-04; просмотров: 329. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Дизартрии у детей Выделение клинических форм дизартрии у детей является в большой степени условным, так как у них крайне редко бывают локальные поражения мозга, с которыми связаны четко определенные синдромы двигательных нарушений...

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

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия