ex01

command
v0.0.0-...-c93e153 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2018 License: MIT Imports: 3 Imported by: 0

README

Q5.1 : システムコールの確認

本章の最後にシステムコールやWin32 APIの呼び出しをモニターするようなツールを紹介しました。ファイルの入出力のサンプルコードを作成し、どのようなシステムコールやAPIが呼ばれているか確認してみましょう。

Result

$ go tool trace syscall.trace

Macbook Pro2015で以下のメソッドでSyscallが呼ばれていることを確認。

https://github.com/golang/go/blob/master/src/syscall/zsyscall_darwin_amd64.go#L1321

func write(fd int, p []byte) (n int, err error) {
	var _p0 unsafe.Pointer
	if len(p) > 0 {
		_p0 = unsafe.Pointer(&p[0])
	} else {
		_p0 = unsafe.Pointer(&_zero)
	}
	r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)))
	n = int(r0)
	if e1 != 0 {
		err = errnoErr(e1)
	}
	return
}

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL