рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдореИрдВ, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдХрдИ рдЪреАрдЬреЛрдВ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИред рдлрд┐рд░, 2010 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдХреЗрд╡рд▓ C ++ рдЕрдкрд╡рд╛рдж рдФрд░ RTTI рдЧрд╛рдпрдм рдереЗред рдЙрдирдХреЗ рдмрд┐рдирд╛, рдХрд┐рд╕реА рднреА рдЧреИрд░-рддреБрдЪреНрдЫ рд╕реА ++ рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд▓рдЧрднрдЧ рдкреВрд░реНрдг рдкреБрдирд░реНрд▓реЗрдЦрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реАрдорд╛ рдереА рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЖрд░рд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдПрдВрдбреНрд░реЙрдЗрдб рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдореИрдХреНрд╕рд┐рдо рдХреЗ рд╕рд╛рде рд╕рд╢рд╕реНрддреНрд░ "рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП, рддреЛ рд╕реНрд╡рдпрдВ рдХрд░реЗрдВ", рдореИрдВ рдХрд╛рдо рдкрд░ рдмреИрда рдЧрдпрд╛ред рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдЕрдкрд╡рд╛рджреЛрдВ рдФрд░ RTTI рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╕реА + + рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдерд╛ред рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХрд╛ рд╣реА рд╕рдордп рд▓рдЧрд╛ред рддрдм рдПрдХ
рд╕рд╛рдЗрдЯ рдмрдирд╛рдИ рдЧрдИ рдереА, рдЬрд┐рд╕ рдкрд░ рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореА рдкреИрдХреЗрдЬ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдереЗ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреИрдЪ рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рдирд┐рд░реНрджреЗрд╢ рднреАред
рд╕рдорд╕реНрдпрд╛ рддрддреНрдХрд╛рд▓ рдереА, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЧрдИ рдФрд░ рдкрд╣рд▓реЗ рдорд╣реАрдиреЗ рдХреЗ рджреМрд░рд╛рди рдореБрдЭреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП, рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдФрд░ рдмрд╕ рдзрдиреНрдпрд╡рд╛рджред рд╕рдмрд╕реЗ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ "рдХреНрдпрд╛ Google рдЖрдкрдХреЗ рдмрджрд▓рд╛рд╡ рдХреЛ рдореЗрдирд▓рд╛рдЗрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдЧрд╛?" рдореИрдВрдиреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЖрд╢рд╛ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрд╡рд┐рдб рдЯрд░реНрдирд░ (рдПрдВрдбреНрд░реЙрдЗрдб рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ) рдореЗрд░реЗ рдкреИрдЪ рдореЗрдВ рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддрд╛ рдерд╛ рдФрд░ рдЙрди рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред
рдЬрд▓реНрдж рд╣реА рдкрд░реА рдХрдерд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд▓реНрдж рд╣реА рдмрд╛рдд рдирд╣реАрдВ рдмрдирддреА рд╣реИред рдЕрдЪреНрдЫреЗ рдирд┐рдЧрдо рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдереЗ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкреИрдЪ рдХреЛ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рд╣реА рдореЗрдирд▓рд╛рдЗрди рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, Google (r3 рдФрд░ r4) рдХреА рджреЛ рд░рд┐рд▓реАрдЬрд╝ рд╣реБрдИрдВ рдФрд░ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ r2 рдХреЗ рд╕рдорд╛рди рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ред рдкреИрдЪ рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрд┐рдд рдкреИрдХреЗрдЬ, рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп рдмрдбрд╝реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдерд╛ред рдореЗрд░реЗ рдПрдирдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХрдИ рдУрдкрди рд╕реЛрд░реНрд╕ рдФрд░ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереАрдВред рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ, рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз, рд╢рд╛рдпрдж,
OpenCV рдФрд░
Ogre3D рд╣реИрдВ ред
рдЕрдВрдд рдореЗрдВ, NDK r5 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде, Google рдиреЗ рдореЗрд░реЗ рдкреИрдЪ (рд▓рдЧрднрдЧ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд) рдХреЛ рдореЗрдирд▓рд╛рдЗрди рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░ рджрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрдВрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдордп рддрдХ рдПрдирдбреАрдХреЗ рдХреЗ рдХреБрдЫ рдЕрдиреНрдп рджрд╛рд╡реЗ рдЬрдорд╛ рд╣реЛ рдЧрдП рдереЗред рдмрд╣реБрдд рдХреБрдЫ рдЧрд╛рдпрдм рдерд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЗрд╕реЗ "рдПрдВрдбреНрд░реЙрдЗрдб рдПрдирдбреАрдХреЗ + рдкреВрд░реНрдг рд╕реА ++" рд╕реЗ "рдмреЗрд╣рддрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдирдбреАрдХреЗ" рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрднрд╡ рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдореЗрдирд▓рд╛рдЗрди рдореЗрдВ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рд╕реБрдзрд╛рд░ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реВрдЪреА рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдпрд╣ рдореЗрд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рд▓реАрдЬ рдХреЗ рдкреЗрдЬ рдкрд░ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рдореИрдВ CrystaX NDK рдореЗрдВ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдореБрдЦреНрдп рд╕реБрдзрд╛рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдЗрд╕реЗ Google NDK рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрдг рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпреЛрдВ, рд▓реЗрдХрд┐рди Google NDK рдореЗрдВ рдПрдХ рддреЛрдбрд╝рдлреЛрдбрд╝ рдХреА рдЧрдИ - wchar_t рдХреЛ 1 рдмрд╛рдЗрдЯ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдбреЗрд╡рд┐рдб рдЯрд░реНрдирд░ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдиреЗ рдореБрдЭреЗ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬреЛрд░ рджрд┐рдпрд╛ рдХрд┐ wchar_t рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдкреЛрд░реНрдЯреЗрдмрд▓ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдЪрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд UTF-8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпреВрдЯреАрдПрдл -8 рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рднреА рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд┐рдП рдмрд┐рдирд╛, рдореИрдВрдиреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрд╕реЗ рдмрддрд╛рдпрд╛ рдХрд┐ Google NDK рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЙрдирдкреЛрд░реНрдЯреЗрдмрд▓ wchar_t рдХреЛрдб рдмрдирд╛рддреЗ рд╣реИрдВред рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реБрдИ, рд╣рд░ рдХреЛрдИ рдЕрдкрдиреА рд░рд╛рдп рдкрд░ рдХрд╛рдпрдо рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╡реНрдпрд╛рдкрдХ рдкрд╛рддреНрд░реЛрдВ / рддрд╛рд░ / рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЖрд╡рд╢реНрдпрдХ рд╣реИред
FreeBSD рдХреЗ рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВрдиреЗ Standard C рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдФрд░ рд╕рд╛рде рд╣реА Std C рд╕реНрдерд╛рдиреЛрдВ рдкрд░ wchar_t рд╕рдорд░реНрдерди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдХрд╛рд░реНрдп рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ рдФрд░ рдореБрдЭреЗ рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдорд┐рд▓рдиреЗ рдореЗрдВ рдХрдИ рдорд╣реАрдиреЗ рд▓рдЧ рдЧрдПред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЕрднреА рднреА рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ (рдЕрднреА рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ UTF-8 рд╕рдорд░реНрдерд┐рдд рд╣реИ), рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдореИрдВрдиреЗ рдЦреБрдж рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛, рдЬрд╣рд╛рдВ рд╡реНрдпрд╛рдкрдХ рдЪрд░рд┐рддреНрд░ / рд╕реНрдЯреНрд░рд┐рдВрдЧ / рдзрд╛рд░рд╛рдПрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рдереАрдВ, рдФрд░ рдореБрдЭреЗ рдЙрди рдкрддреНрд░реЛрдВ рд╕реЗ рднреА рдкрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдпрд╛ред
рд╕реА ++ 11
рдирдП рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдорд╛рдирдХ рдХреЗ рд╡рд┐рдореЛрдЪрди рдХреЗ рд╕рд╛рде, C ++ рднрд╛рд╖рд╛ рдФрд░ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, Google NDK GCC 4.4.3 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ C ++ 0x рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдлрд┐рд░ рднреА рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рдкреБрд░рд╛рдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, CrystaX NDK рдореЗрдВ GCC 4.6.3 рдЯреВрд▓рдЪреИрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдирдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдЬрд▓реНрджреА рд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ред рдлрд┐рд▓рд╣рд╛рд▓, CrystaX NDK рдореЗрдВ рд╕рдВрдХрд▓рдХ рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ - 4.4.3 (рдЬреИрд╕рд╛ рдХрд┐ Google рдореЗрдВ) рдФрд░ 4.6.3 (рдирдпрд╛)ред рдЙрдирдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рдмрд╕ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ Application.mk рдореЗрдВ рд▓рд┐рдЦреЗрдВ:
APP_TOOLCHAIN_VERSION := 4.6.3
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ C ++ 0x рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ C ++ 0x рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рднреА):
APP_USE_CPP0X := true
рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдЕрдиреБрдХреВрд▓рди рдврд╛рдВрдЪрд╛
CrystaX NDK GCC 4.6.3 рдореЗрдВ рдЧреНрд░реЗрдлрд╛рдЗрдЯ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд┐рд░реНрдл
рд╡рд┐рдХреА рдкреЗрдЬ рдХрд╛ рд▓рд┐рдВрдХ рджреЗрдВ
рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА
Google NDK рдХреЗрд╡рд▓ рджреЗрд╢реА рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП C рдФрд░ C ++ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдкрд░ iOS рдХреЗ рд▓рд┐рдП рдореВрд▓ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХрд╛ рдПрдХ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдм рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐ рдПрдХ рдЕрд╡рд╕рд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЙрд╕рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ рдФрд░ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реАред рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рдмреЗрд╕ рдЧреНрдиреВ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдлрд┐рд▓рд╣рд╛рд▓ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ GNUStep рдкреЛрд░реНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ (рддрдм рдиреНрдпреВрдирддрдо рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдХреЛрдХреЛ рдХреЛрдб рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛), рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдп рдмрд▓реНрдХрд┐ рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдЕрднреА рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдмрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВред (рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА) рдпрд╛ .рдПрдордПрдо (рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА ++) LOCAL_SRC_FILES рдкрд░ред
рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдореИрдВ, рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рддрд░рд╣, рдереЛрдбрд╝рд╛ рдкрд╛рдЧрд▓ рд╣реВрдВред рдореБрдЭреЗ рдЕрдкрдиреЗ рдХреЛрдб рдкрд░ рдХрднреА рднреА рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ - рдмрд╣реБрдд рдмрд╛рд░ рдореИрдВ рдЕрдкрдиреА рдФрд░ рджреВрд╕рд░реЛрдВ рджреЛрдиреЛрдВ рдХреА рдмреЗрд╡рдХреВрдлреА рднрд░реА рдЧрд▓рддрд┐рдпреЛрдВ рдкрд░ рдЙрддрд░ рдЖрдпрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдореБрдЦреНрдп рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ - "рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдЪреЗрдХ рд╣реИрдВред" рдХрд╛рдлреА рдЕрд▓рдЧ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреНрд▓реИрдВрдЧ рд╕реНрдЯреИрдЯрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реА рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХреЛрдб рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд░рд╣реА рд╣реИ (рд╕реА ++, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрднреА рддрдХ рдирд╣реАрдВ)ред рдЗрд╕ рдЕрд╡рд╕рд░ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ
рдХреНрд▓реИрдВрдЧ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреНрд▓реИрдВрдЧ рдкреИрдХреЗрдЬ рд╕реЗ 'рд╕реНрдХреИрди-рдмрд┐рд▓реНрдб' рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд╕реБрд▓рдн рд╣реИ, рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░реЗрдВ:
ndk-build ANALYZE=1
рдпрд╣ рдЯреАрдо рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдЧреА, рд▓реЗрдХрд┐рди рдХреНрд▓реИрдВрдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рднреА рдХрд░реЗрдЧреА рдФрд░ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдВрдд рдореЗрдВ рдЙрдирдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧреАред
рдореИрдВ рдЕрдиреНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рд╕реНрддрд░реАрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдбреНрд░рд╛рдЗрд╡рд░
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрднреА рддрдХ рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдзреАрди рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рднреА рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ - рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рд╕рдкреНрддрд╛рд╣ рдпрд╛ рдорд╣реАрдиреЛрдВ рдХреЗ рдХрд╛рдо рдХреЛ рдмрдЪрд╛рдПрдЧрд╛ред
CrystaX NDK рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ, рд╕рднреА IO API рдХреЙрд▓ (рдЬреИрд╕реЗ рдХрд┐ рдУрдкрди, рд░реАрдб, рд░рд╛рдЗрдЯ, рдЖрджрд┐) рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯреЗрдб рдФрд░ рдкрд╛рд░реНрд╕ рд╣реИрдВред рдпрд╣ рддрдерд╛рдХрдерд┐рдд "рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ" рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдлрд┐рд▓реНрдЯрд░ рдЬреЛ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗ / рдкрдврд╝реЗ рдЬрд╛ рд░рд╣реЗ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдпрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрд╡реЗрджрди рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ! рдЖрдкрдХреЛ рдмрд╕ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
mount("/path/to/storage", "/target", "compressed", 0, "GZIP")
рдФрд░ рд╡рд╕реАрд▓рд╛ - / рд▓рдХреНрд╖реНрдп рдХреЛ рд▓рд┐рдЦреЗ рдЧрдП рд╕рднреА рдбреЗрдЯрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ gzip рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ / рд▓рдХреНрд╖реНрдп рд╕реЗ рдкрдврд╝рдиреЗ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ - рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрднреА рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЕрдЧрд▓реЗ рдорд╣реАрдиреЗ рдпрд╣ рд╕реНрдерд┐рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдЕрднреА рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдкреНрд░рддреАрдд рд╣реЛрдЧрд╛ - рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЙрддрдиреА рд╣реА рдЕрдзрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рдЕрдм рддрдХ, рдореЗрд░реЗ рдкрд╛рд╕ рдЦреБрдж рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╢рдХреНрддрд┐ рдФрд░ рд╕рдордп рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЙрддреНрд╕рд╛рд╣реА рд▓реЛрдЧреЛрдВ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд░рддрд╛ рд╣реВрдВ - рдЖрдЗрдП рд╣рдо рдПрдВрдбреНрд░реЙрдЗрдб рдХреЛ рд╡рд╣ рдордВрдЪ рдмрдирд╛рдПрдВ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ! рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдЖрдИрдУрдПрд╕ рдФрд░ рдмреНрд▓реИрдХрдмреЗрд░реА рдкрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рд╣реИ - рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдУрдПрд╕ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ, рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛ рдирд╣реАрдВред рдЖрдЧреЗ рдмрдврд╝реЛ!
рдЗрд╕ рд╣рд░реНрд╖рд┐рдд рдиреЛрдЯ рдкрд░, рдореБрдЭреЗ рдЕрдкрдиреА рдЫреБрдЯреНрдЯреА рд▓реЗрдиреЗ рджреЛред