[an error occurred while processing this directive]
|
Уж не знаю что Вам и сказать...
Создайте проект в VS
заведите там два файла
в каждом вне тела функции забейте строку
int mmm[1000];
откомпилите. Ошибок Вы не получите.
Теперь в каждом файле измените Вашу строку на
int mmm[1000] = {0};
Откомпилите. Получите ошибку. Нетрудно догадаться какую.
Возникает подозрение, что компилер в первом случае посчитал введенную Вами строчку как объявление массива (без создания самого объекта)
А во втором, как именно создание объекта.
На самом деле, там ситуация еще забавнее. Она скорее похожа на то, что описал в той ветке ВН. Но он человек тертый, на асме пишуший, и баги(особенности) компиляторов его в ступор не вводят. Ну тут это так, а в другой среде иначе. Принял к сведению и пошел дальше.
А мой первоначальный пост посвящен был вообще отдельному компилятору - для DSP ZSP400 от LSI Logic. Там по моим наблюдениям банальный баг - при объявлении
int mmm[1000];
объекта не создается (как и в VS). Во всяком случае в карте памяти я его не вижу. Только глобальное имя _mmm. Но вот heap почему-то уменьшается на 1000 слов. Что мне показалось ни есть правильно.
E-mail: info@telesys.ru