Подтвердить что ты не робот

Как можно эмулировать пространство имен в C?

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

4b9b3361

Ответ 1

Имена вещей по-разному, например:

void namespace_group_function();

gtk + является ярким примером для этого обычного стиля:

GtkWidget* gtk_window_new(GtkWindowType type);

Ответ 2

Используйте общий префикс для имен всех ваших общедоступных символов, поэтому foo::bar становится foo_bar. бросать префикс на все имена символов, по сути, это пространство имен. (а также разрешать символы, используемые без префикса, для объявлений с префиксом, что очень полезно)

Ответ 3

Для не экспортируемых символов вы помещаете каждый модуль в отдельный файл.

Для экспортированных символов вы обычно применяете префикс. Две или три буквы являются общими.