[an error occurred while processing this directive]
Ответ: Не понял, разве я что-то другое говорил? Насколько я понимаю цитату:
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено dxp 27 апреля 2004 г. 11:29
В ответ на: Так что с Вас ссылочка на стандарт, это опровергающий :)))) отправлено SM 27 апреля 2004 г. 11:15

Note: In standard C/C++, global and static variables that are not explicitly initialized are set to 0 before program execution.

Замечание: В стандартном С/С++ глобальные и статические переменные, которые не имеют явной инициализации (т.е. у них нет явного инициализатора типа x = N), обнуляются перед выполнением программы.

The C55x C/C++ compiler does not perform any preinitialization of
uninitialized variables.

С55х С/С++ компилятор не производит никакой преинициализации неинициализированных переменных.

Explicitly initialize any variable that must have an initial value of 0.

Явно инициализируйте любую переменную, которая должна иметь начальное значение равное 0.

Т.е. если по Стандарту я могу писать:

int x;
double y = 1.23;

int main() { ... }

То в случае композерских компиляторов я должен писать:

int x = 0;
double y = 1.23;

int main() { ... }

Что не есть гуд! Поэтому я просто, видимо, сделаю изменения в стартапе, где вся секция .bss будет обнуляться перед инициализацией. Это должно дать нужный эффект, хотя это не совсем корректно и возможны тоже грабли. К сожалению.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru