2017-01-08 1 views
1

Я не могу найти информацию о том, какой макрос использовать в ifdef для определения ядра illumos. Я использую __linux, чтобы поймать Linux.Макрос препроцессора ядра Illumos

Filler для заполнения заполнителя заполнителя заполнителя.

ответ

2

Illumos ядра на основе таких как SmartOS и использовать __sun открыла демонстрационный и это sometimes suggested, чтобы проверить как __sun и __SVR4.

[[email protected] ~]# uname -a 
SunOS mysmartostestzone 5.11 joyent_20170202T033902Z i86pc i386 i86pc Solaris 

[[email protected] ~]# cat test.c 
#include <stdio.h> 

int 
main(int argc, char **argv) 
{ 
#ifdef sun 
printf("sun\n"); 
#endif 

#ifdef __sun 
printf("__sun\n"); 
#endif 

#if defined(__sun) && defined(__SVR4) 
printf("__sun && __SVR4\n"); 
#endif 
} 

[[email protected] ~]# cc test.c 

[[email protected] ~]# ./a.out 
sun 
__sun 
__sun && __SVR4