Это руководство не
учебное
руководство C или
пошаговое
руководство для преобразования заголовков. Это - руководство по стилю,
который представляет идеальный заголовок, который мы хотели бы поддерживать.
В настоящее время не все заголовки под нашим контролем соответствуют этому
руководству на 100%, но работа идет, чтобы сделать это.
- Переводы должны быть очень близки к оригиналу, так чтобы они выглядели
знакомо и могли быть легко обновлены.
- Идентификаторы (включая любой #defines) не должны быть изменены, конечно по
возможности.
- Маленькие файлы могут быть объединены в один больший заголовок, если они
подключаются в любом случае и принадлежат той же библиотеке.
- Оригинал лицензии должен быть сохранен.
- Заголовки должны работать с последней версией FreeBASIC.
- Конфликты имен между многократными идентификаторами (из-за
нечувствительности к регистра FreeBASIC) или идентификатором и ключевым словом
FreeBASIC должны быть исправлены, добавляя подчеркивание к одному
идентификатору.
- Блоки extern "c" должны быть использованы вместо cdecl alias "..."
объявлений функции или для типов указателей функции.
- Директивы препроцессора (включая #defines) должны быть сохранены.
Исключение: Удалите, если они служат только для выбора опций для различных
компиляторов C, т.е. различия extern. В этом случае они могут быть удалены, если
они не предоставляют поддержку для дальнейшего кода. При выборе компиляторов,
выбор должен быть сделан в пользу GNU C.
- FreeBASIC ключевые слова должны быть в нижнем регистре.
- Inline функции должны быть преобразованы в макросы в определенных
случаях.
- Директивы препроцессора в описаниях структуры, теле функции, и т.п.,
возможно должны быть перемещены в основную область видимости, потому что в
FreeBASIC они в своей области видимости.
- Декларации , распределенные по нескольким линиям с директивами
препроцессора между ними (Для примера, декларации функции или инициализаторы
массива ) потребуется переписать вручную