2013-07-20 3 views
6

Есть ли способ проинструктировать gcc пропустить инициализацию для определенных статических, изменчивых переменных? У меня есть несколько круговых буферов (объявленных volatile), которые действительно не нужно обнулять при запуске и на моем MCU, это пустая трата около ~ 2500 tcy.C, пропустить статический массив инициализации

Спасибо заранее,

+0

условной компиляции с помощью '#ifdef ..... # endif' ?? –

+0

Хмм ... Я говорю о времени выполнения, а не о времени разработки. – user1973900

+0

, тогда выбор есть, если/else –

ответ

6

Если вы используете gcc, вы можете поместить объект массива в разделе .noinit:

uint8_t arr[1024] __attribute__ ((section (".noinit"))); 
+0

Разве это расширение не противоречит стандарту C? – SomeWittyUsername

+0

@icepack, конечно, это противоречит стандарту C. – ouah

+0

@icepack - возможно, да - вот почему это расширение. – user93353

Смежные вопросы