linuxspring 发表于 2024-4-30 09:04:50

系统调用可以被哪些语言所调用

李老师你好,请教个问题,操作系统上提供的系统调用接口是不是只有C/C++这两类语言能<直接>调用,而像Java、C#、Python、go等这类高度抽象的语言无法直接调用操作系统的系统调用?

站长 发表于 2024-4-30 10:19:15

在最底层,系统调用无非是用中断方式,或者采用特殊的机器指令(比如sysenter和syscall)来实现的,因此,传统上必须使用内联汇编调用。当然,操作系统通常也会加以封装,常见的就是封装成类似C语言的函数。有些计算机语言不能直接调用的话,可再封装成这些语言能直接调用的库。

haizeiouni 发表于 2024-4-30 12:36:31

老师说的封装成c 语言形式,可以理解成就是库函数吗

站长 发表于 2024-4-30 13:19:50

haizeiouni 发表于 2024-4-30 12:36
老师说的封装成c 语言形式,可以理解成就是库函数吗

是的。
页: [1]
查看完整版本: 系统调用可以被哪些语言所调用