일반적으로 시스템은 일반 프로그램과 운영 체제 사이에있는 라이브러리 또는 API를 제공합니다. 유닉스 계열 시스템에서이 API는 대개 glibc와 같이 시스템 호출을위한 래퍼 (wrapper) 함수를 제공하는 C 라이브러리 (libc)의 구현의 일부입니다. write(), read(), open C 프로그램에서 시스템 호출을하는 데 사용됩니다. 즉, Java 프로그램이 시스템 호출을 한 다음 가장 낮은 수준에서 이러한 C 라이브러리 함수를 호출해야한다면? 그렇다면 어떻게 .. ???c 라이브러리를 사용하는 시스템 호출
1
A
답변
0
정말로 필요한 경우 Java Native Interface (JNI)로 할 수 있습니다.
마음의 두려움에주의하지 마십시오. JVM은 보통 당신이 원하는 것을 할 수 있습니다.
JNI의 하나의 유스 케이스는 Java의 암호 용 OpenSSL을 사용합니다. 이전에 테스트 한 결과 상당히 빨랐습니다 (거의 10 년 전이었습니다).
http://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html
0
난 당신이 질문 자바 질문으로 태그되지 않기 때문에 자바에서 작업을 수행하는 방법을 알고 싶지 않아 가정합니다.
libc가 올바른 방법이지만, 정보를 얻기 위해 linux에서 syscall 기능을 사용할 수 있습니다. syscall 함수는 플랫폼에 따라 Int 0x80 신호, sysenter 명령 또는 다른 것을 사용할 수 있습니다.
0
자바에서, 이것은 native Methods을 사용하여 수행됩니다. 다음은 native
수정 선언 방법과 (유사에 추상적 인 방법) 실제 구현 플랫폼 의존의 언어로 작성 일반적으로 C.
추가 네이티브 메소드 구현 될 수있다 런타임 System.loadLibrary(String libraryName)
를 사용하여로드없는 몸이다.
관련 문제
- 1. 시스템 호출 대신 라이브러리를 통해 C 컴파일러를 호출하는 방법은 무엇입니까?
- 2. C - Execl 시스템 호출
- 3. C++ 시스템 호출 대기
- 4. 시스템 호출 C++ with Weka
- 5. 리눅스 시스템 외부에서 다른 라이브러리를 사용하는 방법
- 6. 리눅스 시스템 호출 getpeername C++
- 7. 루프 시스템 호출 C 프로그램
- 8. 리눅스 시스템 호출 및 C++
- 9. ImageMagick with C++ 시스템 호출
- 10. ZeroMQ를 사용하는 동안 스레드에서 시스템 호출()
- 11. 라이브러리를 사용하는 C 프로그램 컴파일
- 12. 시스템 호출 라이브러리
- 13. 시스템 호출에서 시스템 호출
- 14. MinGW 라이브러리를 사용하는 Intel C/C++ 링커
- 15. C 표준 C 라이브러리를 사용하는 SSL 구현
- 16. xcode에서 표준 C++ 라이브러리를 사용하는 방법?
- 17. 스레드에서 슬립 시스템 호출
- 18. MIPS에서 시스템 호출 9를 사용하는 방법
- 19. Windows에서 환경 변수를 사용하는 Ruby 시스템 호출
- 20. struct 매개 변수를 사용하는 시스템 호출 (Linux)
- 21. 파이프() 시스템 호출
- 22. c/C++로 작성된 공유 라이브러리를 사용하는 Linux C 프로그램
- 23. cmake 시스템 라이브러리를 피하는 법
- 24. Netbeans에서 R 라이브러리를 사용하는 C 코드 컴파일
- 25. 시스템 호출 및 시스템 프로그램
- 26. 리눅스 시스템 호출 getifaddr의 C++ 내 C에서
- 27. while not recognized (시스템 호출 -c)
- 28. windows 명령에 공백이있는 C 시스템 호출
- 29. C 표준 라이브러리 및 시스템 호출
- 30. C (File Descriptor)의 시스템 호출
귀하의 VM 구현은 – Djole
입니다. 모든 언어 런타임 구현은 운영 체제 호출을해야합니다. C 런타임 라이브러리를 사용하여이를 수행 할 수 있습니다. 그건 사실 일반적으로 필요한 것은 아닙니다. 리눅스 시스템에서 –
을 사용하면'strace '명령을 실행하고 수행중인 시스템 호출을 모니터링 할 수 있습니다. Windows 용 아날로그 도구는'procmon'입니다. 예를 들어 I/O를 수행 할 때마다 해당 syscalls가 참여하게됩니다. – Sigismondo