Podczas debugowania programu używającego (C lub C++), gdb
wyświetla liczby zespolone jako _M_value = xxx + yyy*I
(z typem complex double
).GDB - Uzyskiwanie dostępu do rzeczywistych i urojonych części złożonego numeru
Podczas debugowania muszę wydrukować ten numer pomnożony przez współczynnik.
Poniższy nie pracy:
print a * 8.0
dostaję Argument to arithmetic operation not a number or boolean
.
Ponadto nie mogę uzyskać dostępu do części rzeczywistych i urojonych , dzięki czemu mogę napisać makro gdb, aby wykonać powyższe czynności. Moje obecne rozwiązanie polega na napisaniu funkcji C do manipulowania złożonymi wartościami i tablicami oraz wywoływania tej funkcji z gdb. Jakoś to po prostu nie brzmi dobrze.
Używasz standardowej C++ kompleks szablonu? jeśli tak, czy a.real()/a.imaj() nie działa? – neuro
@neuro: dziękuję - działają metody .real() i .imag(). – nimrodm
nie ma za co. Ustawiłem swój komentarz w odpowiedzi, by pomóc ludziom (czy zdobyła ona reputację? ^^) – neuro