Nepodporuje Android setjmp / longjmp, přístupu, chdir, getcwd?

hlasů
1

Jsem docela nový vývoj Android a chtěl bych vědět, zda Android podporuje výše uvedené vlastnosti, které jsou tam v C.

Díky předem.

Položena 07/07/2010 v 11:01
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
5

K dispozici jsou tyto funkce při kódování v nativním C přes Android NDK. NDK má standardní C knihovna, která obsahuje tyto funkce.

  • getcwd (BUF, velikost) funguje trochu jinak než standardní Unix, v tom to není přidělit paměť, pokud buf je NULL. Měli byste předem přidělit vyrovnávací paměti. http://linux.die.net/man/2/chdir
  • chdir (path) funguje podle očekávání, i když její použití je omezeno tím, že Android (blbě) neposkytuje funkce k načtení aplikace kontextově relevantní informace, jako cestu k externím úložišti (i když je možné získat cestu přes JNI volání .) http://linux.die.net/man/3/getcwd
  • Nemohu komentovat funkčnosti v Android roku longjmp atd.

Máte-li raději zůstat v prostředí Android Java, zjistíte, že neexistuje žádný koncept aktuálního pracovního adresáře, takže chdir () a getcwd () je zastaralé. Místo toho, systém zpřístupňuje sadu funkcí pro odhalení vnitřní a vnější cesty pro ukládání (viz http://developer.android.com/guide/topics/data/data-storage.html ). Také typické použití setjmp () / longjmp () může být obecně vztahuje Java výjimky či jiných mechanismů.

Odpovězeno 13/07/2012 v 12:13
zdroj uživatelem

hlasů
1

Nejste si jisti, zda se ty integrována do jazyka, ale pokud opravdu potřebujete pro přístup k libovolné metody Native C, můžete použít JNI (Java Native Interface), který vám umožní spustit Native C kód.

Také, podívejte se na výjimku a souborů tříd - oni vám může dát podobnou funkčnost.

Odpovězeno 07/07/2010 v 11:07
zdroj uživatelem

hlasů
-3

Neměli byste potřebovat. Aplikace pro Android se obvykle provádí v Javě. setjmp / longjmp je C / C ++, co (ano, jsem naprogramovaný v ní na chvíli a ještě ho nenávidí :-)

Odpovězeno 13/07/2010 v 02:03
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more