Solaris 动态跟踪指南

算术运算符

D 提供了下表中所示的二元算术运算符,以供在程序中使用。对于整数,这些运算符含义与在 ANSI-C 中的完全一样。

表 2–6 D 二元算术运算符

+

整数相加 

-

整数相减 

*

整数相乘 

/

整数相除 

%

整数取模 

D 中只可以对整数操作数或指针(如第 5 章中所讨论)执行运算。D 程序中不可以对浮点操作数执行运算。DTrace 执行环境不对整数溢出或下溢采取任何操作。在可能出现溢出和下溢的情况下,您必须自己检查这些情况。

DTrace 执行环境不会自动检查和报告由于不正确使用 /% 运算符而导致的被零除错误。如果 D 程序执行无效的相除操作,则 DTrace 将自动禁用受影响的检测过程并报告错误。DTrace 检测到的错误不会对其他 DTrace 用户或操作系统内核产生影响,因此,不必担心如果 D 程序中包含其中某个未注意到的错误会导致任何破坏。

除了这些二元运算符,+- 运算符也可用作一元运算符;这些运算符比任何二元算术运算符具有更高的优先级。表 2–11 中说明了所有 D 运算符的优先级顺序和关联属性。可以通过使用括号 ( ) 对表达式分组来控制优先级。