GCC インライン アセンブラーでは、入力制約と出力制約を別々にリストする必要があります。ただし、マニュアルによると、出力制約の前に「=」を指定する必要もあります「このオペランドは書き込み専用です」という意味です。修飾子なしは読み取り専用を意味します。さて、読み取り専用/書き込み専用と入力/出力には微妙な違いがあるように思われます。したがって、これらは異なる方法で扱われます。しかし、「入力」と「読み取り専用」が同一でない場合、gcc は実際にどのように区別するのでしょうか? 入力制約に「=」を付けたり、出力制約でそれを省略したりするケースはありますか? 「+」(読み取りと書き込みの両方) パラメーターの場合、このパラメーターを入力セクションと出力セクションに配置することに違いはありますか? パラメータを「+」制約として指定することと、次のように指定することの間に違いはありますか?
"some instruction" : "=r" : 0 :