Forger 26 6 марта, 2020 Опубликовано 6 марта, 2020 · Жалоба 1 hour ago, Axel said: Абстракция от технических проблем - важное условие нахождения правильных решений .... ... и заодно проблем, вылезающих в изделиях далеко не сразу и где-нибудь в глуши, массово, хаотично и не предсказуемо. Из-за излишней самонадеянности прогеров или слишком высокого доверия к ним руководства :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 6 марта, 2020 Опубликовано 6 марта, 2020 · Жалоба 17 minutes ago, Forger said: Из-за излишней самонадеянности прогеров или слишком высокого доверия к ним руководства :) ??? Не поведусь, извините... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 6 марта, 2020 Опубликовано 6 марта, 2020 · Жалоба 4 minutes ago, Axel said: ??? Не поведусь, извините... А мне все равно, не мне потом расхлебывать последствия динамический массивов в стеке под МК Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 6 марта, 2020 Опубликовано 6 марта, 2020 · Жалоба 7 часов назад, Darth Vader сказал: Позволяют ли такое стандарты С/С++ и какие именно? Даже если и позволяют, это все равно, что минировать дорогу с закрытыми глазами Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 6 марта, 2020 Опубликовано 6 марта, 2020 · Жалоба 4 часа назад, Axel сказал: Когда надо иногда два "больших" массива, иногда три "маленьких" . Мне от алгоритмистов такие заморочки иногда прилетали... Откройте для себя удивительный мир union {} Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 6 марта, 2020 Опубликовано 6 марта, 2020 · Жалоба 25 minutes ago, jcxz said: Откройте для себя удивительный мир union {} Я вообще-то никого не уговариваю этим пользоваться, и сам избегаю, но "если звезды зажигают - значит - это кому-нибудь нужно?" (CR) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 6 марта, 2020 Опубликовано 6 марта, 2020 · Жалоба 34 minutes ago, Axel said: сам избегаю А не проще ли сразу выкинуть это из головы? Тогда избегать ничего не придется :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darth Vader 0 9 марта, 2020 Опубликовано 9 марта, 2020 · Жалоба Про небезопасность я понимаю. Сейчас вопрос именно в стандартах: какие поддерживают, какие нет. По-наследству достался код в котором это используется весьма часто. Код рабочий. Компилируется GCC. А вот компилятор ARM на это ругается, выдает ошибку: неконстантный размер массива. Отсюда и возник вопрос: когда и каким стандартом это было разрешено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 9 марта, 2020 Опубликовано 9 марта, 2020 · Жалоба Начиная с C99. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darth Vader 0 9 марта, 2020 Опубликовано 9 марта, 2020 · Жалоба 4 hours ago, Grizzly said: Начиная с C99. Тогда весьма странно, что компилятор ARM на это ругается. В настройках проекта в Keil MDK-ARM выбрано С99 mode. Он поекрасно понимает другие "фишки" С99: однострочные комментарии, объявление счетчиков цикла непосредственно в цикле for. Я предполагал, что неконстантный размер массивов узаконили в С11... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 9 марта, 2020 Опубликовано 9 марта, 2020 (изменено) · Жалоба Неконстантный размер может быт только в массивах с автоматическим классом памяти. Изменено 9 марта, 2020 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 222 9 марта, 2020 Опубликовано 9 марта, 2020 · Жалоба 1 час назад, Darth Vader сказал: Тогда весьма странно, что компилятор ARM на это ругается. В настройках проекта в Keil MDK-ARM выбрано С99 mode. Он поекрасно понимает другие "фишки" С99: однострочные комментарии, объявление счетчиков цикла непосредственно в цикле for. Я предполагал, что неконстантный размер массивов узаконили в С11... http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491c/BCFGJJHF.html Не странно, читайте документацию. И чем Вас не устраивает alloca? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 9 марта, 2020 Опубликовано 9 марта, 2020 · Жалоба 1 час назад, Darth Vader сказал: В настройках проекта в Keil MDK-ARM выбрано С99 mode. В C99 должно быть разрешено использование VLA без каких-либо дополнительных ключей компиляции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 9 марта, 2020 Опубликовано 9 марта, 2020 · Жалоба Вот это тоже приводит к этому https://www.kb.cert.org/vuls/id/782301/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Darth Vader 0 9 марта, 2020 Опубликовано 9 марта, 2020 · Жалоба 2 hours ago, GenaSPB said: Неконстантный размер может быт только в массивах с автоматическим классом памяти. Именно так это и есть. Там объявляются локальные массивы внутри функций, размеры которых вычисляются в этих же функциях ранее. Или передаются им в качестве параметров при вызове функции. Вот ещё нашлось. Вцелом, повторяет информацию с сайта ARM. Но добавлено ещё примечание, что память под такие массивы выделяется в куче. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться