Dobrý den, určitě jsou len a cap na amd64 a arm64 32-bitové? Já jen že unsafe.Sizeof vrací pro proměnné typu int 8 (a pro řez tedy 24). Ostatně v tom strojáku je pak MOVQ.
Jinak argumenty funkcí se na zásobníku předávají na všech architekturách, mají to tak schválně, aby přepnutí gorutin bylo levné.
jsem konzervativní, takže staré dobré 1.13 (https://github.com/tisnik/go-root/blob/master/article_56/02_empty_image_asm/go.mod), na 1.14 se necítím (tedy zkouším doma, ale ne pro naše projekty)
Ale pro zasmání jaký jsem exot - relativně velkou codebase ještě udržuji v ANSI C. Dnes v podstatě jen tak z hecu, už by se to klidně dalo přepsat, ale proč si nezavzpomínat.
13. 2. 2020, 08:58 editováno autorem komentáře