Jak přidat vlastní makro při použití NDK?

hlasů
15

Potřebuji nějaké vlastní makra v mých projektech NDK však nemám ideální, jak přidat a našel jsem žádné odpovědi Mohl by někdo prosím pomoci? Mnohokrát děkuji!

Položena 26/10/2010 v 10:10
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
44

Pokud byste chtěli přidat speciální definici při kompilaci NDK kód (JNI) Přidejte si do svého Android.mk:

LOCAL_CFLAGS    := -DMYDEFINE

To bude definovat makro MYDEFINE v C / C ++ kódu. Zde je příklad

#ifdef MYDEFINE
// We build the project with this special macro
#else
// We build without setting the macro in the LOCAL_CFLAGS
#endif
Odpovězeno 26/10/2010 v 11:15
zdroj uživatelem

hlasů
1

Chcete-li definovat marcro:

LOCAL_CFLAGS += -DYOUR_MACRO

definování makra s hodnotou:

LOCAL_CFLAGS += -DYOUR_MACRO='"string"'

nebo

LOCAL_CFLAGS += -DYOUR_MACRO=123

já osobně doporučuji použít + = místo: =, aby se zabránilo LOCAL_CFLAGSbyl přepsán.

Odpovězeno 08/05/2017 v 14:29
zdroj uživatelem

hlasů
1

Pokud mluvíte o Androidu Makefile maker, jako je

$ (Volání my-dir)

Je to přesně stejné jako syntaxe GNU makefile

Makefile manuální Gnu

Například:

reverzní = $ (2), $ (1)

foo = $ (volání naopak, a, b)

$ (Výstraha $ (foo))

Výsledek:

ba

Odpovězeno 20/02/2014 v 21:22
zdroj uživatelem

hlasů
1

Máte-li jste správně pochopili, je třeba se podívat na to, jak C Preprocessor funguje.

Máte nějaké zkušenosti v psaní C / C ++ - programy? Za prvé, měli byste být opravdu vybíravý o tom, co části vaší aplikace budete psát v nativním kódu. Také je třeba mít na paměti, že nativní kód bude chovat úplně jinak, když jde o přidělování paměti a podobně, takže to opravdu není místo pro hádání.

Strávit nějaký čas seznámení se s C / C ++, navrhněte aplikaci moudře tak, že části, které chcete psát v nativním kódu je jasně definován a že nezvýší šanci aplikace shazovat. Hádám, že většina projektů, které můžete udělat, aniž by nativní aplikace části, takže pokud ji používáte, a nevíte přesně , co děláte, vy byste měli opravdu re-zadky, jestli je to správná věc, nebo ne.

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

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