|
Локальные переменные. |
|
|
|
Jan 20 2015, 11:33
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Прочитал следующее в ARM System Developer's Guide. Цитата ARMv4-based processors can efficiently load and store 8-, 16-, and 32-bit data. However, most ARM data processing operations are 32-bit only. For this reason, you should use a 32-bit datatype, int or long, for local variables wherever possible. Avoid using char and short as local variable types, even if you are manipulating an 8- or 16-bit value. The one exception is when you want wrap-around to occur. И переделал все локальные переменные на uint32_t. Вопрос - как я понимаю это касается и аргументов передаваемых в функцию?
|
|
|
|
|
 |
Ответов
|
Jan 20 2015, 11:50
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(ViKo @ Jan 20 2015, 17:36)  Да. И возвращаемых значений тоже. Не касается это лишь управляющих структур, массивов, которые используются в программе. Чтобы место экономить. Ну а вот например Код uint32_t MessageChecksum(unsigned char *p, uint32_t len) { uint32_t csum = 0; while (len) { csum+=(*p)&0xFF; p++; len--; } return csum; } тут у меня unsigned char потому что это касается UART я передаю данные 8 бит. или все равно привести к uint32_t? uint_fastXX_t это если я захочу перенести код на AVR
|
|
|
|
Сообщений в этой теме
Jenya7 Локальные переменные. Jan 20 2015, 11:33 Сергей Борщ А чтобы код оставался более-менее оптимальным при ... Jan 20 2015, 11:42  CrimsonPig Цитата(Jenya7 @ Jan 20 2015, 11:50) Ну а ... Jan 20 2015, 12:08   Jenya7 Цитата(CrimsonPig @ Jan 20 2015, 18:08) Е... Jan 20 2015, 12:15    CrimsonPig Цитата(Jenya7 @ Jan 20 2015, 12:15) это p... Jan 20 2015, 12:28     Jenya7 Цитата(CrimsonPig @ Jan 20 2015, 18:28) 1... Jan 20 2015, 12:39      CrimsonPig Цитата(Jenya7 @ Jan 20 2015, 12:39) обрат... Jan 20 2015, 12:47       Jenya7 Цитата(CrimsonPig @ Jan 20 2015, 18:47) К... Jan 20 2015, 12:58        CrimsonPig Цитата(Jenya7 @ Jan 20 2015, 12:58) нет и... Jan 20 2015, 13:39  Сергей Борщ Цитата(Jenya7 @ Jan 20 2015, 13:50) тут у... Jan 20 2015, 17:26   CrimsonPig Цитата(Сергей Борщ @ Jan 20 2015, 17:26) ... Jan 20 2015, 17:40    AHTOXA Цитата(CrimsonPig @ Jan 20 2015, 22:40) v... Jan 20 2015, 18:19     CrimsonPig Цитата(AHTOXA @ Jan 20 2015, 18:19) У Се... Jan 20 2015, 18:27   Jenya7 Цитата(Сергей Борщ @ Jan 20 2015, 23:26) ... Jan 20 2015, 19:05    AHTOXA Цитата(Jenya7 @ Jan 21 2015, 00:05) а str... Jan 20 2015, 19:25     ViKo Цитата(AHTOXA @ Jan 20 2015, 22:25) Испол... Jan 20 2015, 21:12    Сергей Борщ Цитата(Jenya7 @ Jan 20 2015, 21:05) а str... Jan 21 2015, 07:10 Jenya7 спасибо. придется засучить рукава. этож тысячи стр... Jan 20 2015, 12:06 Jenya7 спасибо. узнал много интересного. только вот Серг... Jan 21 2015, 07:24 Сергей Борщ Цитата(Jenya7 @ Jan 21 2015, 09:24) а в т... Jan 21 2015, 07:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|