Jakiś czas temu odkryłem, że Guile i rakieta mogą być osadzone i nazywane bezpośrednio z dowolnej aplikacji C++.Czy można używać OCaml w trybie wbudowanym?
Czy OCaml może działać w ten sposób?
Jakiś czas temu odkryłem, że Guile i rakieta mogą być osadzone i nazywane bezpośrednio z dowolnej aplikacji C++.Czy można używać OCaml w trybie wbudowanym?
Czy OCaml może działać w ten sposób?
Możesz rzucić okiem na Embedded O'Caml Toplevel zrobione przez Clément Capel. Jest wynikiem letniego stażu, więc nie był aktualizowany od 2004 roku.
W przeciwnym razie istnieje ocamlmklib.
+1 dla ocamlmklib, co jasne jest w opisie PO, jest tym, czego szuka. –
ocamlmklib nie ma nic wspólnego z osadzaniem OCaml. Jest to wrapper wokół linkera, który tworzy mieszane biblioteki C-OCaml. –
Możesz użyć OCaml toplevel jako biblioteki. Jest częścią oficjalnej dystrybucji OCaml i jest na czasie. Zobacz toploop.mli w źródłach OCaml dla interfejsu. Jest oficjalnie dostępny tylko w bajtode, ale jest eksperymentalna obsługa natywnego kodu.
Jeśli planujesz rozprowadzić swoją aplikację, pamiętaj, że biblioteka biblioteki (i sam kompilator) są objęte bardziej restrykcyjną licencją (zmodyfikowaną QPL) niż standardowa biblioteka i środowisko wykonawcze (zmodyfikowane LGPL).
Nie zgaduję. OCaml został zaprojektowany jako język skompilowany, więc tak naprawdę nie ma być używany w ten sposób. –