當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby Kernel.syscall用法及代碼示例


本文簡要介紹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-lang.org大神的英文原創作品 Kernel.syscall。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。