gdb 可以用来display
打印每一步的表达式。我想使用 gdb 格式化表达式printf
。我如何告诉 gdb 运行printf
每个步骤,类似于显示?
主页
/
user-785494
SRobertJames's questions
SRobertJames
Asked:
2023-09-04 03:01:49 +0800 CST
在 C 中乘除整数以避免溢出的正确方法是什么?ticks
我想确定以(以赫兹为单位)运行的计时器需要多少个freq
才能生成delay
(以毫秒为单位)。这应该是ticks = freq * delay / 1000
。
但是,这条线对我来说看起来很危险。如果我们这样写,(freq * delay) / 1000
就会面临溢出的风险。如果我们写成freq * (delay / 1000)
,我们就会陷入浮点数——这是不必要的并且容易出错,尤其是。在微控制器上。
这样做的正确方法是什么?
SRobertJames
Asked:
2023-09-03 18:43:47 +0800 CST
在 C 语言中,众所周知#define
宏应该使用括号。请参见例如C 宏和括号中参数的使用。
然而,在嵌入式代码中,我经常看到它甚至与整数一起使用。例如:
#define OFFSET (0x100)
当宏只是一个常量整数时,括号有什么意义?他们可以在什么情况下发挥作用?