以下的宏检查C typedefs。如果没有为你需要检查的typedef定义特定的宏,并且你不需要检查该类型 的任何特殊的特征,那么你可以使用一个普通的typedef检查宏。
对特定类型定义的检查
这些宏检查在sys/types.h'和
stdlib.h’(如果它存在)中定义的特定的C typedef。
宏: AC_TYPE_GETGROUPS
把GETGROUPS_T定义成getgroups的数组参数的基类型gid_t或者int。
宏: AC_TYPE_MODE_T
如果没有定义mode_t,就把mode_t定义成int。
宏: AC_TYPE_OFF_T
如果没有定义off_t,就把off_t定义成long。
宏: AC_TYPE_PID_T
如果没有定义pid_t,就把pid_t定义成int。
宏: AC_TYPE_SIGNAL
如果`signal.h’把signal声明成一个指向返回值为void的函数的指针, 就把RETSIGTYPE定义成void;否则,就把它定义成int。
把信号处理器(signal handler)的返回值类型定义为RETSIGTYPE:
RETSIGTYPE
hup_handler ()
{
…
}
宏: AC_TYPE_SIZE_T
如果没有定义size_t,就把size_t定义成unsigned。
宏: AC_TYPE_UID_T
如果没有定义uid_t,就把uid_t定义成int并且把 gid_t定义成int。
对普通类型定义的检查
本宏用于检查没有包括在特定类型测试宏中的typedef。
宏: AC_CHECK_TYPE (type, default)
如果sys/types.h'或者
stdlib.h’或者stddef.h'存在,而类型 type没有在它们之中被定义,就把type定义成C(或者C++)预定义类型 default;例如,
short’或者`unsigned’。