그들은 Mono의 PInvoke와 같은 것을 사용합니까? 또는 런타임이 시작되기 전에 등록 된 내부 호출과 더 비슷합니까? java에는 mscorlib.dll과 같은 기본 호출을 처리하기위한 기본 라이브러리가 있습니까? C 코드에서 JVM을 호출하려면 라이브러리에서 .so/.dll 파일을 찾습니다. 모든 JRE 네이티브 라이브러리를 정적으로 링크하는 경우 Java 표준 라이브러리와 차이가 있습니까?Java 표준 라이브러리는 어떻게 원시 코드와 comunicate합니까?
답변
그들은 공개적으로 문서화 된대로 JNI를 사용하여 특정 플랫폼에 대한 원시 공유 라이브러리를 호출합니다.
C 코드에서 JVM을 호출하는 한 JVM은 공유 라이브러리 (DLL, SO 등)를 사용합니다. JDK 6 소스 코드를 빠르게 검색해도 핵심 네이티브 지원 (예 : Object, String 등의 네이티브 메소드)에 대한 System.loadLibrary()가 표시되지 않습니다. 이는 JRE/bin 디렉토리의 내용으로 판단 할 때 DLL에있는 것으로 보이는이 메소드의 원시 코드가 java.exe (및 Windows의 javaw.exe)에 의해 명시 적으로 링크되어 있음을 나에게 암시합니다.
마지막으로이 항목을 살펴보면 C 코드에서 JVM을 호출하기위한 요구 사항이 JNI의 잘 문서화 된 부분이었습니다. 더 자세히 진행하려면 해당 문서를 참조하십시오. 우리는 IBM AS/400 Java 1.1 JVM 용 네이티브 C 래퍼/로더를 성공적으로 작성하기까지했습니다.
이들은 Java Native Interface (JNI)를 사용합니다.
저는 C에서 JVM을 호출 한 적이 없으므로 그것에 대해 알지 못합니다. 아무것도하지만를 작성하지 않고
예를 들어 여기에 C 프로그램 내에서 JVM을 시작하는 방법에 대한이 자바 코드 "(그들의 홈페이지에서 인용).
개인적으로 지금까지 시도한 적이 없습니다.
는 "Java Native Access (JNA)이 (Windows의 DLL을) Java 프로그램을 제공하는 네이티브 공유 라이브러리에 쉽게 액세스 :
- 1. Java 라이브러리는 어떻게 사용합니까?
- 2. GTGE 라이브러리는 어떻게 사용합니까? Java 2D 게임
- 3. Java : 원시 클래스 변환
- 4. Java 원시 코드 프리미티브
- 5. Postgres 연결을 Java 코드와 연결
- 6. 가장 효율적인 Java 원시 콜렉션 라이브러리
- 7. C++ 표준 라이브러리는 C 또는 어셈블리로 작성해야합니까?
- 8. Java 라이브러리는 코드 생성을 위해 주석을 사용합니까?
- 9. Java HTTP 게시 원시 데이터
- 10. GB18030은 유니 코드와 어떻게 다른가요?
- 11. "표준"Java DateBuilder 구현?
- 12. Java 표준 시간대가 엉망입니다
- 13. Java 코드를 C# 코드와 연결하는 방법은 무엇입니까?
- 14. Silverlight 클래스 라이브러리는 어떻게 실행합니까?
- 15. Javascript OpenID 라이브러리는 어떻게 작동합니까?
- 16. 커스텀 C++ 라이브러리는 어떻게 설치합니까?
- 17. F # Reflection 라이브러리는 어떻게 사용합니까?
- 18. Java : 원시 BMP 파일 형식 데이터의 BufferedImage
- 19. Java 용 역방향 아약스 라이브러리는 무엇입니까?
- 20. Android에서 사용해야하는 OCR Java 라이브러리는 무엇입니까?
- 21. 좋은 바이너리 데이터 압축 Java 라이브러리는 무엇입니까?
- 22. Java 용 간단한 형상 인식 라이브러리는 무엇입니까?
- 23. 메쉬에 사용할 Java 2D 라이브러리는 무엇입니까?
- 24. GAE에서 작동하는 Java PDF 라이브러리는 무엇입니까?
- 25. Objective-C에 해당하는 Java Math 라이브러리는 무엇입니까?
- 26. 현재 널리 사용되는 Java SIP 라이브러리는 무엇입니까?
- 27. C 언어 라이브러리는 Java ScheduledExecutorService와 동일합니까?
- 28. 최고의 Java QR 코드 생성기 라이브러리는 무엇입니까?
- 29. 품사 용 태깅을위한 훌륭한 Java 라이브러리는 무엇입니까?
- 30. http에 적합한 Java 유닛 테스트 라이브러리는 무엇입니까?