У меня было перечисление TokenType
, определенное в одном из файлов заголовков в моем проекте.
Когда я позже включил <windows.h>
в какой-то заголовок, компилятор пожаловался, что он уже определяет свой собственный TokenType
.
Какое соглашение в C позволяет избежать таких конфликтов имен?Должен ли я назвать любую общедоступную вещь, используемую в моем проекте (function, enum, typedef struct и т. Д.) С префиксом MyProject_
?Например MyProject_TokenType
?Кажется некрасивым.Каков общий подход к этому?
Каков будет общий подход для библиотек и каков подход для автономных приложений (таких как мое собственное)?