Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Где обнулить буфер
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Jenya7
у меня есть в функции обнуление буфера
Код
uint16_t l_uiDataBuffer[32];

//do some stuff

memset(l_uiDataBuffer,0,sizeof(l_uiDataBuffer));
buffcpy(l_uiDataBuffer,l_uiTempDataP, l_uiDataSize);

если я заменю на
Код
uint16_t l_uiDataBuffer[32] = { 0 };

buffcpy(l_uiDataBuffer,l_uiTempDataP, l_uiDataSize);

я получу какое то преимущество? может uint16_t l_uiDataBuffer[32] = { 0 }; делается во время компиляции?

хотя нет, локальная переменная. но может это быстрее чем звать memset?
Arlleex
Код
uint16_t l_uiDataBuffer[32] = { 0 };

не обнулит Ваш буфер.
aaarrr
Цитата(Arlleex @ May 10 2018, 18:19) *
Код
uint16_t l_uiDataBuffer[32] = { 0 };

не обнулит Ваш буфер.

Еще как обнулит.

Цитата(Jenya7 @ May 10 2018, 16:06) *
хотя нет, локальная переменная. но может это быстрее чем звать memset?

Не должно быть быстрее, то же самое. Другое дело, что memset заметить проще. И таки да, смысл { 0 } не все понимают sad.gif
Arlleex
Пардон, да, обнулит.
ТС, Вот еще почитайте.
Jenya7
понял. спасибо. нужно листинг смотреть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.