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