Студопедия — 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; просмотров: 321. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

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