本文簡要介紹ruby語言中 Kernel.syscall
的用法。
用法
syscall(num [, args...]) → integer
調用由num
標識的操作係統函數並返回函數的結果,如果失敗則引發 SystemCallError
。
該函數的參數可以遵循 num
。它們必須是String
對象或Integer
對象。 String
對象作為指向字節序列的指針傳遞。 Integer
對象作為整數傳遞,其位大小與指針相同。最多可以傳遞九個參數。
num
標識的函數取決於係統。在某些 Unix 係統上,這些數字可以從名為 syscall.h
的頭文件中獲得。
syscall 4, 1, "hello\n", 6 # '4' is write(2) on our box
產生:
hello
在對任意係統函數沒有任何方式的平台上調用 syscall
隻會失敗並顯示 NotImplementedError
。
注意:syscall
本質上是不安全且不可移植的。隨意拍你的腳。 DL ( Fiddle
) 庫是更安全和更便攜的編程的首選。
相關用法
- Ruby Kernel.system用法及代碼示例
- Ruby Kernel.set_trace_func用法及代碼示例
- Ruby Kernel.select用法及代碼示例
- Ruby Kernel.sprintf用法及代碼示例
- Ruby Kernel.srand用法及代碼示例
- Ruby Kernel.sleep用法及代碼示例
- Ruby Kernel.spawn用法及代碼示例
- Ruby Kernel.local_variables用法及代碼示例
- Ruby Kernel.Integer用法及代碼示例
- Ruby Kernel.binding用法及代碼示例
- Ruby Kernel.frozen?用法及代碼示例
- Ruby Kernel.`cmd`用法及代碼示例
- Ruby Kernel.autoload用法及代碼示例
- Ruby Kernel.loop用法及代碼示例
- Ruby Kernel.Hash用法及代碼示例
- Ruby Kernel.caller用法及代碼示例
- Ruby Kernel.exit!用法及代碼示例
- Ruby Kernel.trap用法及代碼示例
- Ruby Kernel.String用法及代碼示例
- Ruby Kernel.then用法及代碼示例
- Ruby Kernel.Pathname用法及代碼示例
- Ruby Kernel.yield_self用法及代碼示例
- Ruby Kernel.BigDecimal用法及代碼示例
- Ruby Kernel.raise用法及代碼示例
- Ruby Kernel.test用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Kernel.syscall。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。