Обнаружение времени компиляции архитектуры ЦП

76
задан phuclv 18 October 2018 в 15:22
поделиться

4 ответа

Вот некоторая информация [приблизительно 110] Предопределенные Макросы Архитектуры и другие типы предопределенных макросов.

Этот вопрос спрашивает, где они определяются в исходном коде GCC.

73
ответ дан Ciro Santilli 新疆改造中心法轮功六四事件 24 November 2019 в 11:22
поделиться

Нет ничего стандартного. Brian Hook зарегистрировал набор их в его "Портативном Ремне безопасности С открытым исходным кодом", и даже пытается превратить их во что-то когерентное и применимое (ymmv относительно этого). См. posh.h заголовок на этом сайте:

Примечание, ссылка выше может потребовать, чтобы Вы ввели некоторый поддельный идентификатор пользователя/пароль из-за DoS-атаки некоторое время назад.

3
ответ дан Michael Burr 24 November 2019 в 11:22
поделиться

Нет никакого стандарта межкомпилятора, но каждый компилятор имеет тенденцию быть довольно последовательным. Можно создать заголовок для себя, это - что-то вроде этого:

#if MSVC
#ifdef _M_X86
#define ARCH_X86
#endif
#endif

#if GCC
#ifdef __i386__
#define ARCH_X86
#endif
#endif

нет большого количества точки к всестороннему списку, потому что существуют тысячи компиляторов, но только 3-4 в широком использовании (Microsoft C ++, GCC, Intel CC, возможно, TenDRA?). Просто решите, какие компиляторы Ваше приложение будет поддерживать, перечислите их #defines и обновите Ваш заголовок по мере необходимости.

15
ответ дан John Millikin 24 November 2019 в 11:22
поделиться

При необходимости в мелкомодульном обнаружении функций CPU лучший подход должен поставить также программу CPUID который выводы к stdout или некоторому "cpu_config.h" файлу набор функций, поддерживавших ЦП. Тогда Вы интегрируете ту программу со своим процессом сборки.

-2
ответ дан zvrba 24 November 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: