4.3.3 Сокрытие Данных

4.3.3 Сокрытие Данных

Используя заголовочные файлы пользователь может опредлять явный интерфейс, чтобы обеспечить согласованное исползование типов в программе. С другой стороны, пользователь может обойти интерфейс, задаваемый заголовочным файлом, вводя в .c файлы описания extern.

Заметьте, что такой стиль компоновки не рекомендуется:

// file1.c: // «extern» не используется int a = 7; const c = 8; void f(long) (* /* ... */ *)

// file2.c: // «extern» в .c файле extern int a; extern const c; extern f(int); int g() (* return f(a+c); *)

Поскольку описания extern в file2.c не включаются вместе с определениями в файле file1.c, компилятор не может проверить согласованность этой программы. Следовательно, если только загрузчик не окажется гораздо сообразительнее среднго, две ошибки в этой программе останутся, и их придется икать программисту.

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

// table.c: определения таблицы имен

#include «error.h» #include «string.h» #include «table.h»

const TBLSZ = 23; static name* table[TBLSZ];

name* look(char* p; int ins) (* /* ... */ *)

Это гарантирует, что любой доступ к table действительно будет осуществляться именно через look(). «Прятать» константу TBLSZ не обязательно.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Сокрытие информации

Из книги Все под контролем: Кто и как следит за тобой автора Гарфинкель Симеон

Сокрытие информации Возьмите листок дорогой гербовой бумаги, посмотрите его на свет и вы сможете увидеть водяные знаки – узор, получаемый путем прижатия к бумаге в процессе сушки фигурной конструкции. Водяные знаки были изобретены в Италии в XIII веке. Итальянские


Сокрытие изображение стрелки на ярлыках

Из книги Delphi. Учимся на примерах автора Парижский Сергей Михайлович

Сокрытие изображение стрелки на ярлыках Для того чтобы убрать изображение стрелки на ярлыках, создайте следующие два ключа:[HKEY_CLASSES_ROOTpiffile] "IsShortcut"="" [HKEY_CLASSES__ROOTlnkfile]


Сокрытие приставки "Ярлык для…"

Из книги Стандарты программирования на С++. 101 правило и рекомендация автора Александреску Андрей

Сокрытие приставки "Ярлык для…" Для того чтобы у создаваемых ярлыков не было приставки "Ярлык для…", измените следующий


Сокрытие пункта Пуск→Найти

Из книги Анонимность и безопасность в Интернете. От «чайника» к пользователю автора Колисниченко Денис Николаевич

Сокрытие пункта Пуск?Найти Ключ:[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer]


Сокрытие различных элементов интерфейса

Из книги автора

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


Сокрытие дисков в папке Мой компьютер

Из книги автора

Сокрытие дисков в папке Мой компьютер В папке Мой компьютер можно скрывать диски. Ниже представлены имена дисков и соответствующий ключ для их сокрытия. Для того чтобы скрыть сразу несколько дисков, суммируйте значения ключей:[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer]A:


Сокрытие элементов окна Свойства обозревателя

Из книги автора

Сокрытие элементов окна Свойства обозревателя Сокрытие вкладки ОбщиеКлюч:[HKEY_CURRENT_USERSoftwarePoliciesMicrosoftInternet ExplorerControl Panel] Значение: "GeneralTab"=dword:00000001Сокрытие вкладки БезопасностьКлюч:[HKEY_CURRENT_USERSoftwarePoliciesMicrosoftInternet ExplorerControl Panel] Значение: "SecurityTab"=dword:00000001Сокрытие вкладки Содержание


11. Сокрытие информации

Из книги автора

11. Сокрытие информации РезюмеНе выпускайте внутреннюю информацию за пределы объекта, обеспечивающего абстракцию.ОбсуждениеДля минимизации зависимостей между вызывающим кодом, который работает с абстракцией, и реализацией абстракции, внутренние данные такой


1.2. Анонимайзеры: сокрытие IP-адреса

Из книги автора

1.2. Анонимайзеры: сокрытие IP-адреса Представим, что вы собрались разово скрыть свой IP-адрес. Зачем это вам, мне дела нет. Снимаю с себя всякую ответственность, если ваши цели идут вразрез с существующим законодательством. Все мы помним, что Раскольников сделал с помощью