Al leer varias fuentes C y C++, he encontrado dos macros __APPLE__
y __OSX__
. Encontré un montón de uso de __OSX__
en varios códigos, especialmente los procedentes de los sistemas *BSD
.Qué macro para ajustar el código específico de Mac OS X en C/C++
Sin embargo, a veces me parece que probar __OSX__
solo no es suficiente y tengo que completar las pruebas con macro __APPLE__
.
Las guías Porting Command Line Unix Tools to Mac OS X especifica __APPLE__
y, además, __APPLE_CC__
pero no hace mención no__OSX__
.
La guía Porting from GCC dice:
#ifdef __GNUC__
uso para envolver cualquier código-CCG específica.- Use
#ifdef __APPLE_CC__
para ajustar cualquier código específico de Mac OS X.
Una vez más, ninguna mención sobre __OSX__
macro.
¿Qué macro está predefinida en la plataforma Mac OS X y en el entorno de desarrollo de XCode que se debe usar para distinguir el código OSX específico en los programas C/C++?
¿Dónde se define el macro __OSX__
? ¿Es *BSD
macro específico?
Qt usa incluso una definición diferente: 'Q_OS_OSX' – math