그래서 멋진 OCaml 코드 (50000 라인)가 있습니다. C로 변환하고 싶습니다. 그래서 무료 OCaml에서 C 로의 번역기가 있습니까?무료 OCaml-C 변환기가 있습니까?
10
A
답변
9
이것은 아마도 당신이 원하는 아니지만, 당신은 OCaml의 컴파일러는 C에서의 런타임 코드를 덤프 얻을 수 있습니다 : 당신이 얻을 것은 기본적으로 바이트 코드의 정적 덤프입니다
ocamlc -output-obj -o foo.c foo.ml
. 당신은 the OCaml manual 자세한 정보는
gcc -L/usr/lib/ocaml foo.c -lcamlrun -lm -lncurses
로 컴파일 할 수 있습니다
#include <caml/mlvalues.h>
CAMLextern void caml_startup_code(
code_t code, asize_t code_size,
char *data, asize_t data_size,
char *section_table, asize_t section_table_size,
char **argv);
static int caml_code[] = {
0x00000054, 0x000003df, 0x00000029, 0x0000002a, 0x00000001, 0x00000000,
/* ... */
}
static char caml_data[] = {
132, 149, 166, 190, 0, 0, 3, 153, 0, 0, 0, 118,
/* ... */
};
static char caml_sections[] = {
132, 149, 166, 190, 0, 0, 21, 203, 0, 0, 0, 117,
/* ... */
};
/* ... */
void caml_startup(char ** argv)
{
caml_startup_code(caml_code, sizeof(caml_code),
caml_data, sizeof(caml_data),
caml_sections, sizeof(caml_sections),
argv);
}
: 결과는 같을 것이다.
3
프로젝트 OCamlJS 프로젝트가 좋은 출발점이 될 것입니다. OCaml을 JavaScript로 컴파일합니다. 그것을 수정하여 OCaml을 ActionScript로 컴파일 할 수 있어야합니다. C로 컴파일하는 것은 더 많은 작업 일 것입니다. 어떤 종류의 가비지 콜렉션도 없지만 불가능하지는 않습니다. 특히 Adobe Alchemy가 이러한 요구 사항 중 일부를 충족시키는 API를 제공하는 경우 더욱 그렇습니다.
3
OCaml 코드가 클라이언트 측 ("질문하는 코멘트에 기반한 귀하의 의도 인 것 같습니다)"를 실행하고 싶다면, 첫 번째 생각은 다음 중 하나 일 것입니다. 에 OcamlJava 같은
- 사용 뭔가 자바 바이트 코드를 OCaml를 컴파일하고 자바 웹 시작하거나 유사한 사용하여 해당 배포합니다.
- .NET에서 실행되는 F # (Microsoft 버전 OCaml)의 포트로 은 웹에서 을 웹 배포하기 위해 제공하는 것입니다.
그리고 난 정말 미친 어쩌면 경우 :
- 포트 연금술을 사용 플래시에 (내가 'C'로 구현 믿고 )하고 의 OCaml의 바이트 코드를 실행 한 OCaml의 인터프리터 나의 원래 (언 포트 된) 코드.
2 단계 OCaml-to-C, C-to-Flash는 실제로 어필하지 않습니다.
4
C 소스 코드를 컴파일러에 OCaml의 바이트 코드 실행 파일이 있습니다 : https://github.com/ocaml-bytes/ocamlcc
그래서, 먼저 ocamlcc을 사용하여 바이트 코드의 실행 파일에 대한 코드를 컴파일이.
관련 문제
- 1. 좋은 무료 doc-to-chm 변환기가 있습니까?
- 2. 무료 g729 또는 g711 변환기가 있습니까?
- 3. ocamlc, 모듈 컴파일
- 4. 자바와 연결되는 이미지 변환기가 있습니까?
- 5. Linux 플랫폼에 VB.NET 코드가 존재하는 변환기가 있습니까?
- 6. 변환기가 필터 작업을 중지합니다.
- 7. 맞춤형 통화 변환기가 필요합니다
- 8. WPF에 사용할 수있는 (무료/무료) VirtualizingWrapPanel이 있습니까?
- 9. 무료 PHP 크롤러가 있습니까?
- 10. 무료 지리 데이터베이스가 있습니까?
- 11. Ada 무료 구현이 있습니까?
- 12. 무료 BDC 생성기가 있습니까?
- 13. .NET Framework 3.5에 HsbToRgb 변환기가 있습니까? 아니면 내 컴퓨터를 롤업해야합니까?
- 14. WPF - 변환기가 DependencyProperty에 대한 종속성을 숨 깁니다.
- 15. ASP.NET Javascript 변환기가 호출되지 않는 것 같습니다.
- 16. null 값에 대한 AutoMapper 변환기가 실패 함
- 17. watchpoint가있는 무료 Python 디버거가 있습니까?
- 18. 아직 무료 CDDB 데이터베이스가 있습니까?
- 19. 헤로 쿠는 무료 옵션이 있습니까?
- 20. "무료"그래픽 web.config 편집기가 있습니까?
- 21. 무료 Silverlight PDF 컨트롤이 있습니까?
- 22. Silktest에 대한 무료 대안이 있습니까?
- 23. 우수한 무료 모델링 소프트웨어가 있습니까?
- 24. 무료 안티 스팸 데이터베이스가 있습니까?
- 25. F #에 무료 기능이 있습니까?
- 26. CGImageRelease() 무료 UIImage의 메모리가 있습니까?
- 27. Sencha 터치의 무료 버전이 있습니까?
- 28. 무료 주소 확인 서비스가 있습니까?
- 29. (무료 또는 무료) 뮤직 스토어 형식 파일이 있습니까?
- 30. swf 및 mp4 파일에서 Flv 변환기가 필요합니다.
왜 그렇게하고 싶습니까? 네가하고있는 일을 할 수있는 더 좋은 방법이 있다고 확신한다. – tiftik
오 ... 아니 다른 방법은 없습니다 ... (손으로 하나지만 그것을 엿 보자) 내가 어도비 플래시 플레이어에 대한 어도비 알케미라는 일부 도구를 사용하여 그것을 컴파일하는 C 코드가 필요해 ... 그래서 10 - 200x 속도 손실이지만 강철은 순수 ActionScript에서 컴파일 된 코드보다 빠릅니다 ... 주요 아이디어 - 응용 프로그램이 느려지더라도 웹 페이지 내에서 실행되도록 ... – Rella