如果现有的特征测试不能完成你所需要的工作,你就必须编写一个新的。这些宏是创建模块。它们为其它宏提供了检查各种 特征是否存在并且报告结果的方式。

本章包括一些建议和一些关于现有的测试的为什么要那样编写的原因。通过阅读现有的测试,你还可以学到许多关于编写 Autoconf测试的方法。如果在一个或多个Autoconf测试中出现了错误,这些信息可以帮助你理解它们意味着什么,这有助 于你找到最佳的解决问题的办法。

这些宏检查C编译器系统的输出。它们并不为未来的使用而缓存测试的结果(参见缓存结果), 这是因为它们没有足够的信息以生成缓存变量名。基于同样的原因,它们还不会输出任何消息。对特殊的C的特征进行的测试 调用这些宏并且缓存它们的结果、打印关于它们所进行的测试的消息。

当你编写了一个可以适用于多于一个软件包的特征测试时,最好的方式就是用一个新宏封装它。关于如何封装,参见 编写宏。