|
Cpp check ругается, можно ли так писать? |
|
|
|
Feb 6 2018, 12:34
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Имею массив из float и указатель на него. Код pSigRe = SigRe; for (uint32_t i = FFT_N; i--; ) { *pSigRe++ = log2f(*pSigRe) * 15.0515; } При проверке cpp check выдает ошибку. Кратко: Expression '*pSigRe++=log2f(*pSigRe)*15.0515' depends on order of evaluation of side effects Сообщение: Expression '*pSigRe++=log2f(*pSigRe)*15.0515' depends on order of evaluation of side effects Точно, так нельзя писать?
|
|
|
|
|
 |
Ответов
|
Feb 6 2018, 16:41
|

Знающий
   
Группа: Свой
Сообщений: 584
Регистрация: 22-11-07
Из: Курская область
Пользователь №: 32 571

|
Цитата(ViKo @ Feb 6 2018, 15:34)  Имею массив из float и указатель на него. Код pSigRe = SigRe; *pSigRe++ = log2f(*pSigRe) * 15.0515; Точно, так нельзя писать?  Должно выполняться по порядку: 1. (*pSigRe) 2. log2f() 3. pSigRe++ 4. *pSigRe 5. умножение 6. присвоение. ИМХО так делать можно, компилятор не должен ругаться.
|
|
|
|
Сообщений в этой теме
ViKo Cpp check ругается Feb 6 2018, 12:34 V_G Цитата(ViKo @ Feb 6 2018, 22:34) Точно, т... Feb 6 2018, 12:56 ViKo Цитата(V_G @ Feb 6 2018, 15:56) Мне непон... Feb 6 2018, 13:00  megajohn проверьте так
pSigRe = SigRe;
for (uint32_t i =... Feb 6 2018, 13:18   ViKo Цитата(megajohn @ Feb 6 2018, 16:18) пров... Feb 6 2018, 13:35 Kabdim Цитатаолучить адрес (попутно инкрементированной) п... Feb 6 2018, 13:30 _pv Цитата(ViKo @ Feb 6 2018, 19:34) Сообщени... Feb 6 2018, 13:34 jcxz Цитата(_pv @ Feb 6 2018, 15:34) на *pSigR... Feb 6 2018, 14:00  ViKo Цитата(jcxz @ Feb 6 2018, 17:00) Из первы... Feb 6 2018, 14:08   jcxz Цитата(ViKo @ Feb 6 2018, 16:06) По сущес... Feb 6 2018, 14:09    ViKo Цитата(jcxz @ Feb 6 2018, 17:09) И...?
Ка... Feb 6 2018, 14:12     jcxz Цитата(ViKo @ Feb 6 2018, 16:12) Вы прика... Feb 6 2018, 14:19 jcxz Цитата(ViKo @ Feb 6 2018, 14:34) Кратко: ... Feb 6 2018, 13:53 ViKo Цитата(jcxz @ Feb 6 2018, 16:53) Это вопр... Feb 6 2018, 13:55 ViKo Ладно. Значит, нужно найти точное толкование, когд... Feb 6 2018, 14:22 jcxz Цитата(ViKo @ Feb 6 2018, 16:22) Ладно. З... Feb 6 2018, 14:45 x893 Цитата(jcxz @ Feb 6 2018, 17:19) Нет. Не ... Feb 6 2018, 14:26 ViKo Цитата(x893 @ Feb 6 2018, 17:26) Пример н... Feb 6 2018, 14:30  Сергей Борщ QUOTE (ViKo @ Feb 6 2018, 16:30) Так, жду... Feb 6 2018, 14:36   ViKo Цитата(Сергей Борщ @ Feb 6 2018, 17:36) В... Feb 6 2018, 14:39    jcxz Цитата(ViKo @ Feb 6 2018, 16:39) Здесь то... Feb 6 2018, 14:43    haker_fox QUOTE (ViKo @ Feb 6 2018, 22:39) Здесь то... Feb 6 2018, 14:44  SSerge Цитата(ViKo @ Feb 6 2018, 21:30) Так, жду... Feb 6 2018, 14:44   ViKo Цитата(SSerge @ Feb 6 2018, 17:44) Изволь... Feb 6 2018, 14:57    Сергей Борщ QUOTE (ViKo @ Feb 6 2018, 16:57) Это уж д... Feb 6 2018, 15:48    jcxz Цитата(ViKo @ Feb 6 2018, 16:57) Это уж д... Feb 6 2018, 16:33 haker_fox QUOTE (ViKo @ Feb 6 2018, 20:34) Точно, т... Feb 6 2018, 14:41 haker_fox Первый пример я бы записал так:
CODE for (uin... Feb 6 2018, 14:46 Arlleex Довольно интересная тема в Си, связанная с базовым... Feb 6 2018, 15:54 Arlleex Цитата(Den64 @ Feb 6 2018, 20:41) Должно ... Feb 6 2018, 17:00 x893 А если вдруг запустит на двух- и более процессорно... Feb 6 2018, 16:47 DASM Хорошо вас тут читать.. но.. мое мнение если можно... Feb 6 2018, 17:23 jcxz Цитата(DASM @ Feb 6 2018, 19:23) Я лично ... Feb 6 2018, 17:58 Arlleex Цитата(DASM @ Feb 6 2018, 20:23) Хорошо в... Feb 6 2018, 17:58 AnatolyT Имеем следующее
pSigRe = SigRe;
for (uint32_t i... Feb 6 2018, 18:41 ViKo Не считайте упрямством, хочу разобраться. Постинкр... Feb 6 2018, 20:00 Arlleex Цитата(ViKo @ Feb 6 2018, 23:00) Не счита... Feb 6 2018, 20:24 jcxz Цитата(ViKo @ Feb 6 2018, 22:00) Не счита... Feb 6 2018, 21:37 ViKo Компилятор использовал следующую команду для запис... Feb 6 2018, 20:49 Arlleex Цитата(ViKo @ Feb 6 2018, 23:49) Компилят... Feb 6 2018, 21:01 ViKo Мог бы... Но не сделал. А сделал так, как мне и бы... Feb 7 2018, 05:10 V_G Я думаю, если ассемблер данного конкретного контро... Feb 7 2018, 05:22 jcxz Цитата(V_G @ Feb 7 2018, 07:22) Я думаю, ... Feb 7 2018, 11:43 Arlleex Цитата(ViKo @ Feb 7 2018, 08:10) Вопрос, ... Feb 7 2018, 05:41 x893 А еще правильнее написать авторам cppcheck и задат... Feb 7 2018, 06:03 Сергей Борщ QUOTE (x893 @ Feb 7 2018, 08:03) А еще пр... Feb 7 2018, 07:46 mcheb Решил проверить в GCC
Код uint16_t i;
float SigRe... Feb 7 2018, 06:16 ViKo CODE**********************************************... Feb 7 2018, 09:53 haker_fox ViKo, учтите замечания анализатора. Зачем вам писа... Feb 7 2018, 14:22 Arlleex Привел код. Скомпилировал на C++ Builder 2010 и в ... Feb 7 2018, 10:19 ViKo Усё, таперича проникся. Просвещен. Спасибо всем не... Feb 7 2018, 10:50 ViKo Зависит от типа оптимизации. Пусть хоть весь цикл ... Feb 7 2018, 11:58 Kabdim Удивляет что половина вроде как "опытных... Feb 7 2018, 12:22 Arlleex Цитата(Kabdim @ Feb 7 2018, 16:22) Удивля... Feb 7 2018, 13:20 DASM Цитата(Kabdim @ Feb 7 2018, 15:22) Удивля... Feb 7 2018, 14:14  Kabdim Цитата(DASM @ Feb 7 2018, 17:14) Многие о... Feb 7 2018, 15:04   DASM Цитата(Kabdim @ Feb 7 2018, 18:04) Сравни... Feb 7 2018, 15:23 Kabdim Собственно к тем кто не пишет никаких претензий не... Feb 7 2018, 15:28 DASM Согласен Feb 7 2018, 15:32 sigmaN Только на элкетрониксе могут написать еще страницы... Feb 7 2018, 17:25 jcxz Цитата(sigmaN @ Feb 7 2018, 19:25) Как, к... Feb 7 2018, 17:55 DASM Цитата(sigmaN @ Feb 7 2018, 20:25) Только... Feb 7 2018, 19:04 ViKo Мне страниц не жалко. Пусть хоть 33 будет.
Не знат... Feb 7 2018, 18:26
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|