yarunt 0 29 февраля, 2012 Опубликовано 29 февраля, 2012 · Жалоба Умный кеил игнорирует операции которых результат дальше не фигурирует в проекте. Это нормально, но у меня есть процедура которая берет название массива и выводит его на дисплей. Таких массивчиков у меня около 30, я чтоб не ставить милион свитчей, я беру адрес первого, плюсую к умноженому размеру на номер массива. Кеил думает что используется первый массив и остальные не компилит. Если я в проекте где нибудь засвечу массивы то работает. Подскажите как обьяснить ему что массивчики есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 29 февраля, 2012 Опубликовано 29 февраля, 2012 · Жалоба Таких массивчиков у меня около 30, я чтоб не ставить милион свитчей, я беру адрес первого, плюсую к умноженому размеру на номер массива. А почему Вы считаете, что можно таким образом вычислять адрес? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 29 февраля, 2012 Опубликовано 29 февраля, 2012 · Жалоба Таких массивчиков у меня около 30, я чтоб не ставить милион свитчей, я беру адрес первого, плюсую к умноженому размеру на номер массива. Какой ужас... Вообще-то для этого придуманы двухмерные массивы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yarunt 0 29 февраля, 2012 Опубликовано 29 февраля, 2012 (изменено) · Жалоба Какой ужас... Вообще-то для этого придуманы двухмерные массивы. На асме хорошо работает, работает и на Си. Ответьте по кейлу, есть ли решение? Короче понял, надо соединить все в один масив. А потом назвать двухмерным. Спасибо за подсказку. Изменено 29 февраля, 2012 пользователем yarunt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 29 февраля, 2012 Опубликовано 29 февраля, 2012 · Жалоба На асме хорошо работает, работает и на Си. Ответьте по кейлу, есть ли решение? Это не Си, это издевательство над ним: нельзя просто так "по формуле" брать адрес массива - они могут быть раскиданы как угодно. У линкера есть опция --no_remove, как бы "решение". Короче понял, надо соединить все в один масив. А потом назвать двухмерным. Спасибо за подсказку. Объединять не обязательно: сделайте, например, массив указателей на массивы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yarunt 0 29 февраля, 2012 Опубликовано 29 февраля, 2012 · Жалоба Объединять не обязательно: сделайте, например, массив указателей на массивы. Спасибо помогло :beer: , тему можно закрывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться