c - 使用c库的系统调用

标签 c system systems-programming

通常,系统会提供位于普通程序和操作系统之间的库或 API。在类 Unix 系统上,该 API 通常是 C 库 (libc) 实现的一部分,例如 glibc,它为系统调用提供包装函数。函数如 write()、read()、open()..用于从 C 程序进行系统调用。这是否意味着如果 Java 程序必须进行系统调用,那么在最低级别它必须调用这些 C 库函数?如果是这样,那么如何..???

最佳答案

如果您真的需要,可以使用 Java native 接口(interface) (JNI) 来实现。

请注意,这不是虚惊一场; JVM 通常可以做你想做的事。

JNI 的一个用例是在 Java 中使用 OpenSSL 进行加密;当我测试它时(大约 10 年前),这曾经快得多。

http://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html

关于c - 使用c库的系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24827978/

相关文章:

c - 为什么 `ioctl(fd, EVIOCGRAB, 1)` 有时会导致 key 垃圾邮件?

c - 有关 do while 循环中的 continue 关键字的问题

java - 修改 JRE 系统库

c - OS X (macOS) 和低级 C 中的 Applescript(Objective-C 替代方案)

C 编程 - 质数检查

c - 在c中使用realloc重新分配二维数组时出错

java - 如何以编程方式设置java中动态库的加载路径?

java - System.out.println 和 System.err.println 乱序

c - sprintf() 期间的段错误

c - 请解释一下C程序的这个功能是如何工作的?