Seltsamerweise gibt es bei = bei outC
Genau das selbe habe ich gerade auch festgestellt.
: [argA] "=r" (argC),
[outA] "+r" (outC)
:
und
: [argA] "+r" (argC),
[outA] "+r" (outC)
:
Liefern auf jeden Fall 42
(liegt es daran dass Incrementieren ja eig. nicht nur schreiben sondern lesen, um eins erhöhen und dann schreiben ist?)
So in der Art muss man das verstehen. Im Fall "+" setzt der Compiler 2 Register ein, damit er den Output nicht durch den Input überschreibt. Ist 'ne echt böse Falle ![]()