От MSDN:
Использование двух последовательных символов подчеркивания (__) в начале идентификатора или единственного начального символа подчеркивания, сопровождаемого прописной буквой, резервируется для реализаций C++ во всех объемах. Необходимо избегать использования одного начального символа подчеркивания, сопровождаемого строчной буквой для имен с объемом файла из-за возможных конфликтов с текущими или будущими зарезервированными идентификаторами.
Это означает, что можно использовать одинарное подчеркивание в качестве членского префикса переменной, пока это сопровождается строчной буквой.
Это, по-видимому, взято от раздела 17.4.3.1.2 из стандарта C++, но я не могу найти первоисточник для полного стандарта онлайн.
См. также этот вопрос .
Используйте gcc -v
, чтобы узнать, какие команды он запускает. Например,
gcc -v -o hello hello.c
Будет напечатан большой объем вывода, включая команду компоновщика. Фактический результат зависит от платформы, но команда связывания должна быть ближе к концу. В качестве альтернативы используйте
gcc -### -o hello hello.c
Это похоже на -v
, но на самом деле не запускает никаких команд и заключает параметры в кавычки.
Другой вариант -
gcc -dumpspecs
Найдите запись для ссылки
].
Вышеупомянутые флаги командной строки перечислены в gcc --help
и объяснены на странице руководства. Здесь документация GCC для файлов спецификаций .