8

调试使用(C 或 C++)的程序时,将gdb复数显示为_M_value = xxx + yyy*I(类型为complex double)。

在调试时,我需要打印该数字乘以一个因子。

以下不起作用

print a * 8.0

我明白了Argument to arithmetic operation not a number or boolean

此外,我无法访问实部和虚部,因此我可以编写一个 gdb 宏来执行上述操作。我目前的解决方案是编写一个用于操作复杂值和数组的 C 函数,并从 gdb 调用该函数。不知何故,这感觉不对。

4

2 回答 2

3

如果您使用标准 C++ 复杂模板,那么 complex::real() 和 complex::imaj() 应该可以工作。

my2c

注意:是评论^^

于 2011-01-04T17:30:39.417 回答
0

您可以调用 C 库函数creal()cimag()对其进行分解。

于 2011-01-04T00:41:49.290 回答