1.7 让生活更简单
设计编译指令和高阶API的目的在于提供方便的软件功能。它们隐藏了底层实现的许多细节,使编程人员将更多的注意力集中在其他任务上。同事幽默地将基于编译指令的编程称为在开发人员和编译器之间发生的协商,因为编译指令仅仅是由编程人员提供的来辅助编译器的信息语句。这意味着编译指令不像其他源代码那样,受到相同级别的语法、类型和完整性检查。编译器可以随意忽略任何编译指令的原因包括:它不支持编译指令,语法错误,代码完整性,未解决(或潜在未解决)的依赖,编译器不能保证数据结构(如向量或数组)不重叠的边界情况,以及其他的很多原因。因此,必须使用性能分析工具,并且仔细检查来自编译器的编译消息,以确保编译指令有预期的效果并实现高性能。