当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。