現在パッケージ内のソースコードを読んでsyscallいて、いくつかの問題に遭遇しました:
私は完全に と の初心者なsyscallのでassembly、それについて知っていることを遠慮なく共有してください:)
まず func についてRawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno): そのパラメータtrap, a1, a2, a3と戻り値r1 r2は何を意味しますか? ドキュメントやサイトを検索しましたが、これについての説明が不足しているようです。
第二に、私は使用しているので、darwin/amd64ソースコードを検索してここで見つけました:
http://golang.org/src/pkg/syscall/asm_darwin_amd64.s?h=RawSyscall
アセンブルで書かれているようですが(私には理解できません)、61行目から80行目で何が起こったのか、ok1:76行目以下の部分の意味を教えてください。
http://golang.org/src/pkg/syscall/zsyscall_darwin_amd64.goにもいくつかのコードが見つかりましzsyscallた。ファイル名の意味は何ですか?
と はどう違いsyscallますrawsyscallか?
独自の syscall 関数を作成する場合、それらをいつ、どのように使用すればよいですか (はい、os パッケージには多くの選択肢がありましたが、まだカバーされていない状況があります)。
非常に多くの初心者の質問です。読んで回答していただきありがとうございます:)