2010-08-05 3 views
1

Java 코드를 C++로 변환 할 수있는 프로그램이 있습니까?Java 코드를 C++로 변환 할 수있는 프로그램이 있습니까?

+3

왜 그런 것을 원하겠습니까? – jalf

+1

정확히 무엇을 찾으십니까? 읽을 수있는 C++을 찾고 있습니까? C++ 프로젝트에 쉽게 연결할 수있는 무언가를 찾고 있습니까? 난 당신이 어떤 합리적인 플랫폼 (아마 C 컴파일러)에서 C + +하지만 자바 컴파일러를 얻을 수 있는지 의심, 그리고 당신은 IOS 개발자 계약 3.1.3 제한을 피하려고하는 경우 전혀 작동하지 않습니다. –

+0

@David : mingw에 gcj를 사용하여 자바 코드에서 정적으로 링크 된 바이너리를 작성했습니다. 사용자가 강제로 JRE를 설치하지 않고도 배포 할 수 있습니다. –

답변

0

잠재적 일 수 있습니다.

그러나 두 언어의 스타일이 너무 다르기 때문에 결과 C++ 코드는 C++과 거의 같지 않으므로 유지 관리가 어려울 수 있습니다.

진짜 질문은 왜 이것을하려고하는 것입니까?

1

나는 기본 프로젝트로이 유틸리티를 사용했습니다 :

http://www.euclideanspace.com/software/language/xes/userGuide/convert/javaToCpp/index.htm

+0

eton - funnily 정도로, 이것은 나의 수색에 관한 제 1의 google 결과 중의 1 개이었다. 테스트 프로젝트에서 어떤 문제가 발생 했습니까?그리고 멋지게 연주하지 않은 도서관이 있었습니까 ?? –

+0

단순한 호기심으로 시작된 이래로 나는 그걸로 많은 일을하지 않았습니다. 내가 언급 한 기본 프로젝트는 다른 수치에 대한 면적 계산 응용 프로그램이었습니다. 적어도 수학 라이브러리 (또는 필요한 부분)는 잘 작동했습니다. 간단히 설명하면 적절한 이름 바꾸기 문제입니다. 그러나 다른 사용자가 권장하는대로 언제든지 원시 코드 솔루션을 사용할 수 있습니다. 나는 게시 한 응용 프로그램에 많은 잠재력을 보지 못했지만 원래 질문에 제공 할 수있는 가장 좋은 예였습니다. –

+0

예, 저는 그들이하는 일을 정말로 이해하지 않는 한 항상 '전환'유틸리티를 경계합니다. 결정이 결국 무슨 일이 일어나고 있는지 이해하는 전체 능력에 영향을줍니다. –

4

자바는 완전히 다른 언어입니다 :

어쨌든, (난 당신이 한 확신) Google 검색은 몇 가지 흥미로운 결과를 설정 C++. 코드는 처음부터 완전히 다시 작성해야합니다. Java to C++ 컴파일러가 있더라도 :

  • 모든 Java 코드에서 작동하지 않습니다.
  • C++ 프로그래머가 작성한 것처럼 보이는 코드는 작성하지 않습니다.
  • 보통 C++ 또는 STL 형식을 사용하지 않으므로 유효한 C++ 일지라도 다른 코드와 잘 통합되지 않습니다.

할 수 있습니다 compile네이티브 코드 일부 자바 코드. 어쩌면 그것은 당신을위한 더 나은 접근 방법 일 것입니다. 컴파일 및 실행 C, 자바 바이트 코드 변환하는 JC 가상 머신있다

+0

사실, 이것을 할 수 있습니다. 적어도 C++로 JVM을 작성하고 C++ 프로그램에 임베드 된 JVM에 Java 코드를 컴파일 할 수 있습니다. 또는 Java 컴파일러를 사용하고 C++ 백엔드와 C++ 작성 런타임을 가질 수 있습니다. 이것은 C++ 컴파일러와 Java 컴파일러가없는 경우에만 유용 할 것입니다. 물론 관용적으로 근처에서이 작업을 수행 할 방법이 없기 때문입니다. –

+0

실제로 네이티브 코드 컴파일은 좋은 옵션처럼 들리지만 전문 지식이 Java에 있고 C++의 일부 '도구'해석이 아닌 경우에 특히 그렇습니다 –

0

: http://jcvm.sourceforge.net/

을 당신은 단지 C++ 응용 프로그램 (또는 그 반대)에 자바 라이브러리를 사용하려면이, 당신은해야 대신 GNU 컴파일러 모음에서 gcj를 고려하십시오. 그것은 자바 -> 네이티브 코드 컴파일러입니다. C++ 컴파일러는 gcj로 컴파일 된 코드와 상호 운용 할 수있는 특정 확장을 가지고 있습니다. 즉, 기본적으로 Java로 작성된 모듈을 C++로 작성된 것처럼 사용할 수 있습니다.

관련 문제