Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[gunosy.go]syscallパッケージ

ysekky
August 06, 2014

 [gunosy.go]syscallパッケージ

ysekky

August 06, 2014
Tweet

More Decks by ysekky

Other Decks in Programming

Transcript

  1. syscallパッケージとは •  OSの基本命令にアクセスするためのインタフェース   –  OSによって実装や持っている関数・変数などが異なる   –  各OSの違いをここで吸収している  

    •  godoc  syscallでそのOS固有のドキュメントがみれる   •  他のOSのを見たいときは$GOOSと$GOARCHを変えるとみ ることができる   –  $GOOS=freebsd,  $GOARCH=arm   •  os,  Jme,  netなどで活用されている   –  Use  those  packages  rather  than  this  one  if  you  can   •  err  ==  nilを返すときは正常終了とみなせる   •  失敗した時はOS固有のエラーコードを返す.それらは大抵 syscall.Errnoに定義されている
  2. プログラムの実行について •  func  Exec(argv0  string,  argv  []string,  envv  []string)  

    (err  error)   –  ordinary  exec   •  func  ForkExec(argv0  string,  argv  []string,  a[r   *ProcA[r)(pid  int,  err  error)   –  combinaJon  of  fork  and  exec,  careful  be  thread  safe   •  StartProcess(argv0  atring,  argv  []string,  a[r  *   ProcA[r)(pid  int,  handle  uintptr,  err  error)   –  Start  Process  wraps  ForkExec  for  package  os   –  この返り値がos.Processの構成要素になってる