Макросы найдены здесь:
Общие руководящие принципы найдены здесь:
Пожалуйста, отправьте обновления/исправления в подключение к предварительному обращению или через запросы на вытягивание на GitHub.
Компоненты C и C ++ автоматически определяют определенные макросы, которые можно использовать для проверки функций компилятора или операционной системы. Это полезно при написании портативного программного обеспечения.
На этих страницах перечислены различные предварительно определенные макросы компилятора, которые можно использовать для определения стандартов, компиляторов, операционных систем, аппаратных архитектур и даже базовых библиотек времени выполнения во время компиляции.
Например, если мы хотим использовать общий или непрозрачный тип указателя, мы используем void -указатели. Тем не менее, древние компиляторы K & R (с времени до первого стандарта ANSI C) не поддерживают пустоты. Вместо этого мы можем определить наш собственный тип:
#if defined( __STDC__ ) || defined( __cplusplus ) || defined( _MSC_EXTENSIONS )
typedef void * t_pointer ;
#else
typedef char * t_pointer ;
#endif Другой пример, Microsoft Visual C ++ версии 4.2 добавила Pragma, чтобы сократить время компиляции, только включив файл один раз (если _MSC_VER не определен, то она будет оцениваться до 0 (ноль) - однако, некоторые компиляторы могут жаловаться на неопределенный макро).
#if defined( _MSC_VER ) && ( _MSC_VER >= 1020 )
#pragma once
#endifМакросы, содержащиеся на этих страницах, были получены с помощью документации поставщика, определение скрипта, участников и стороннего исходного кода. Никакой гарантии относительно правильности макросов не дано.
Часто используемой альтернативой является AutoConf, который является более мощным инструментом для изучения различных типов функций, включая варианты компиляции. Тем не менее, AutoConf довольно ориентирован на UNIX и требует слоя UNIX на других платформах (например, Cygwin в Windows). Другими альтернативами являются Buildtool, Cmake, Scons, PMK, JAM, ANT и Bakefile.
Бьорн Риз, Даниэль Стенберг, Грег Роелофс, Стивен Дж. Джонсон, Wlodzimierz Abx Skiba, Marc Finet, Филипп Ньютон, Митчелл благотворитель Зейтлин, Стив Уайт, Томас Дэвид Риверс, Том Хонерманн, Мартин Митас, Динеш Чхадва, Эрик Фэй-Лунд, Лео Дэвис, Пол Хси, Роланд Шварц, Дарко Колакович, Энди Буонвири, Минг Кин Лай, Кент Джонсон, Хельмт Бауэр, Оливер Шнайдер, Рон Паймбетт, Рон Паймбетт, Рон Пимбетт, Рон Пимбетт, Рон Пимбетт, Рон Пимбетт, Рон Пимбетт, Рон Пимбетт, Рон Пимбетт, Рон Пимбетт. Родригес Гарсия, Джерун Ругрок Ван Дер Верен, Уффе Якобсен, Брайан Эшби, Бруно Гайбл, Артур Бак, Терри Шварц, Лео Дэвис, Маркус Дюфт, Уильям Данг, Пол Грин, Рубен Ван Бокс, Пау Гарсиа, Квилс, Микул Патокса, Лео Дэвс, Марк Ферер, Махинс -Махинс, Павс -Хароус, Паповс -Харис, Павс -Харис, Павс -Харис, Паулс -Маха. Ханс-Кристоф Штайнер, Джеральд Комбс, Денис Булант, Массимо Морара, Джереми Беннетт, Гийлем Джевер, Рику Воипио, Жак Пеллетье, Марк Джарвин, Георг Соутфофф, Скот Дженкинс, Грзегорз Брзчжизцчез, Джона Дженкинса, Гианмайшле, Робби, Робби, Роби. Мохр, Алекс -петхер, Сверре Хваммен Йохансен, Стефан Таунер, Даниэль Гарсия, Озкан Сьзер, Дин Саридакис, Фрэнк Лонг, Кевин Адлер.