라이브러리가있는 C 프로그램에 JVM을 포함시키는 것이 좋습니다. 이것은 eDSL 실행 엔진으로서 JVM을 의미합니다. (전체 Java 플랫폼 환경이 아닙니다.) Java 자체 대신 다른 JVM 기반 언어를 사용하려고합니다.NO 라이브러리가있는 C 프로그램에 JVM을 포함시키는 데 권장되는 방법은 무엇입니까?
6
A
답변
0
다른 JavaVM -s를 포함하려는 경우 Kaffe을 조사 할 수도 있지만 잘 모르고 사용자의 요구에 응답하지 않을 수 있습니다. JVM 사양에 대한 나의 이해는 클래스 로더가 필수적이며 (일부 핵심 클래스가 필요함) 클래스 로더가 필요하다는 것입니다.
사용하려는 JVM 기반 DSL 언어는 무엇입니까?
1
이것은 이상하게 들릴지 모르겠지만 자바 코드를 실행하려면 embedding Mono과 using IKVM을 제안 할 것입니다. Mono는 비교적 작고 이식성이 뛰어난 VM이며 임베딩에 적합합니다 (응용 프로그램에 정적으로 링크 할 수도 있음). IKVM은 Eclipse와 같은 괴물을 실행할 수있는 Java 1.6을 충실하게 구현 한 것입니다.
Mono/IKVM을 함께 사용하면 응용 프로그램을 x86 컴퓨터 코드 (Compiling Java Code to x86 Code 참조)로 컴파일 할 수도 있습니다.
관련 문제
- 1. Yesod를 배포하는 데 권장되는 방법은 무엇입니까?
- 2. Subsonic을 사용하는 데 권장되는 방법은 무엇입니까
- 3. rspec 모듈을 구조화하는 데 권장되는 방법은 무엇입니까?
- 4. 응용 프로그램에 광고를 포함시키는 방법은 무엇입니까?
- 5. C# 프로그램에서 여러 언어를 지원하는 데 권장되는 방법은 무엇입니까?
- 6. 프로덕션 응용 프로그램을위한 레일을 공급하는 데 권장되는 방법은 무엇입니까?
- 7. "server"JVM을 사용하고 있는지 확인하는 방법은 무엇입니까?
- 8. 내 asp.net 응용 프로그램에 대한 트래픽을 모니터링하는 데 권장되는 항목
- 9. C 라이브러리가있는 좋은 데이터베이스입니까?
- 10. Windows Forms 응용 프로그램에 대한 종속성을 만드는 데 권장되는 방법은 무엇입니까?
- 11. .NET 응용 프로그램에서 오디오 작업을 수행하는 데 권장되는 방법은 무엇입니까?
- 12. Objective-C++를 사용하여 Objective-C 클래스로 C++ 클래스를 최소화하는 데 권장되는 방법은 무엇입니까?
- 13. opencv를 사용하는 C++ 프로그램에 stdafx.h 파일을 포함시키는 목적은 무엇입니까
- 14. 데스크톱 응용 프로그램에 권장되는 기술 선택
- 15. C++ 프로젝트에 boost :: thread를 포함시키는 방법은 무엇입니까?
- 16. 웹 앱에서 이메일을 보내는 데 권장되는 방법은 무엇입니까?
- 17. 기존 방법으로 ASP.net 컨트롤의 유효성을 검사하는 데 권장되는 방법은 무엇입니까?
- 18. WPF에서 비동기 작업을 수행하는 데 권장되는 방법은 무엇입니까?
- 19. Apache Tomcat webapp에서 Spring Bean에 액세스하는 데 권장되는 방법은 무엇입니까?
- 20. iPhone 앱에서 역/후방 호환성을 지원하는 데 권장되는 방법은 무엇입니까?
- 21. HTML/PHP에서 변수를 전달하는 데 권장되는 방법은 무엇입니까?
- 22. CakePHP에서 승인 된 레코드 편집을 처리하는 데 권장되는 방법은 무엇입니까?
- 23. SharePoint 2010 : 뉴스를 저장하는 데 권장되는 방법은 무엇입니까?
- 24. 독립형 클로저 REPL을 실행하는 데 권장되는 방법은 무엇입니까?
- 25. VS 2010에서 MSI 패키지를 빌드하는 데 권장되는 방법은 무엇입니까?
- 26. Django 모델의 DB에 빈 행을 만드는 데 권장되는 방법은 무엇입니까?
- 27. 콘솔 응용 프로그램에 "도움말"메시지를 포함시키는 가장 좋은 방법은 무엇입니까?
- 28. Perl 응용 프로그램에 CPAN 종속성을 포함시키는 방법은 무엇입니까?
- 29. 그래픽 대화 형 IronPython 셸을 응용 프로그램에 포함시키는 방법은 무엇입니까?
- 30. OpenOffice Calc를 내 응용 프로그램에 포함시키는 방법은 무엇입니까?
나는 JamVM을 가지고 노는 것을 기억합니다. 그것은 작고 C로 쓰여졌 고 그것을 임베드하는 것은 상당히 쉬웠습니다. 그러나 GNU Classpass는 상당히 크며, 임베디드 환경에서는 가상 머신이 제대로 작동하지 않으므로 내 자신의 Java 머신을 작성하게되었습니다. 그러나 데스크탑 애플리케이션을 사용하는 경우 JamVM을 옵션으로 고려할 수 있습니다. – Archie
"no library"를 명확히하십시오. 선택한 VM 구현은 무엇입니까? 코드에 링크하기위한 정적 JVM 구현을 제공합니까? DSO (DLL/SO) 기반 버전은 문서화되어 있으며 다른 기본 코드와 통합하기위한 JNI 표준의 일부일 수 있습니다. 다른 JVM 기반 언어를 사용하고 있다면 이전 주석이 나타내는대로 GNU Classpath에 문제가 없을 수도 있습니다. –
명확성을 위해 : JVM 바이트 코드로 구문 분석 할 계획 인 자체 DSL을 작성하려고 시도하는 중이며 결과 바이트 코드를 실행하기 위해 시스템에 임베드하는 JVM 구현이 필요합니다. 내가 맞습니까? – drnewman