2015-05-02 40 views
6

Właśnie patrząc w sekcji Change Log w http://haxe.org/download/version/3.2.0-rc.2/ i znalazłem to na koniec Nowe funkcje lista:czym jest skryptowanie cppii?

cpp : inititial implementation of cppia scripting 

Ktoś może mi powiedzieć, co to oznacza? Mogę powiedzieć, że ma to coś wspólnego z C++, ale użycie go w Google nie ma nic wspólnego z programowaniem/skryptowaniem, chyba że policzysz wyniki związane z Haxe.

+1

Wtedy być może trzeba zapytać autora haXe? Nie jestem pewien, czego oczekujesz od nas tutaj. –

+0

@Lightness Races in Orbit: ponieważ mówi do [haxe-repo/CONTRIBUTING.md] (https://github.com/HaxeFoundation/haxe/blob/development/CONTRIBUTING.md) –

+0

Huh? Mówi do czego? Nic na tej stronie nie wydaje się istotne dla tego, co powiedziałem! –

Odpowiedz

6

Cppia (wymawiane "sepia") to nowa część celu C++ dla Haxe. Nie ma żadnej oficjalnej dokumentacji na ten temat, dlatego trudno jest znaleźć informacje na jej temat. W najbardziej podstawowym sensie jest to język "skryptowy" dla hxcpp, który może być kompilowany i uruchamiany bez użycia kompilatora C++.

Aby skompilować do cppii, należy zmodyfikować plik kompilacji hxml. Dodaj flagę -D cppia do swojej kompilacji i zmień wyjście, tak aby miało rozszerzenie .cppia. Oto przykład.

-cpp out.cppia # the cppia output file 
-main Main  # your Main.hx file 
-D cppia  # this enables cppia compilation 

Po wykonaniu tej czynności skompiluj plik hxml tak jak zwykle z Haxe. Otrzymasz plik o nazwie out.cppia, który można następnie uruchomić poprzez hxcpp za pomocą polecenia haxelib run hxcpp out.cppia. Jedną wadą tej metody jest brak możliwości korzystania z rozszerzeń natywnych bez budowania własnego hosta cppia. Jeśli więc chcesz uruchomić coś za pomocą OpenFL lub Kha, musisz poczekać, aż wesprą cppię.

Zgodnie z informacjami, które znalazłem brzmi jak cppia działa tak szybko, jak neko jit. Biorąc pod uwagę, że czasy kompilacji są równie szybkie, widzę, że staje się to dobrą alternatywą dla celu neko w przyszłości.

Dodatkowe informacje można znaleźć w slajdy z wykładu wygłoszonego przez twórcę, Hugh Sanderson, w WWX 2015

http://gamehaxe.com/wwx/wwx2015.swf

+1

NME może być również używane z cppią! https://github.com/nmehost/acadnme – Momer

5

Krótkie wyszukiwanie wskazało tylko niektóre logi IRC. Some of them są przydatne.

Wygląda na to, że jest to specyficzny format wyjściowy dla kodu Haxe, który został zaprojektowany do użycia w celu szybkiego modyfikowania kodu. Załóżmy, że podczas opracowywania gry potrzeba ponownej kompilacji i ponownego wdrożenia aplikacji za każdym razem, gdy wprowadzisz najmniejszą zmianę, naprawdę spowalnia twój postęp. Ludzie zgłosili, że jest to problem z rozwojem iOS.

Wydaje się, że Cppia rozwiązuje ten problem, stosując określony format kodu i kompilator JIT oparty na SLJIT (wykryty w repozytorium hxcpp). Przypuszczalnie (doszedłem do wniosku, że z logów wymienionych powyżej), pozwala to na modyfikowanie części aplikacji w czasie wykonywania.

To powiedziawszy, cppia jako język prawdopodobnie nie jest do bezpośredniego użytku i ma być generowany przez kompilator.

Oto najsilniejsze wskazówki, jakie mogę wymyślić i na pewno brakuje mi niektórych szczegółów. Ale ponieważ funkcja jest całkiem nowa, te szczegóły mogą nawet nie być znane już teraz.

+0

dziękuję D-side, znalazłem folder SLJIT wcześniej i od razu wiedziałem, że coś innego niż generowanie C++ odbywało się przy użyciu tego celu wyjściowego, ale nie mogłem dowiedzieć się, co. Nie przyjmuję tej odpowiedzi, ponieważ wiem, że poczekam chwilę, zanim zrobię to. –

+0

@ Futago-zaRyuu możesz poprosić kogoś innego o potwierdzenie, jestem ciekawy, aby się tego dowiedzieć. Proste pytanie "tak/nie" jest łatwiejsze do odpowiedzi dla zapracowanych twórców niż "wyjaśnij, co to jest". –

+0

@ Futago-zaRyuu jakikolwiek postęp w potwierdzeniu tego? –