В С++ можно использовать пространство имен, чтобы независимые группы, работающие на одной базе кода, случайно создавали функции с тем же именем и тем самым создавали конфликт. Мой вопрос заключается в том, что до появления идеи пространства имен, как можно эмулировать пространство имен в C.
Как можно эмулировать пространство имен в C?
Ответ 1
Имена вещей по-разному, например:
void namespace_group_function();
gtk + является ярким примером для этого обычного стиля:
GtkWidget* gtk_window_new(GtkWindowType type);
Ответ 2
Используйте общий префикс для имен всех ваших общедоступных символов, поэтому foo::bar
становится foo_bar
. бросать префикс на все имена символов, по сути, это пространство имен. (а также разрешать символы, используемые без префикса, для объявлений с префиксом, что очень полезно)
Ответ 3
Для не экспортируемых символов вы помещаете каждый модуль в отдельный файл.
Для экспортированных символов вы обычно применяете префикс. Две или три буквы являются общими.