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