Gamma SPb (15.08.2007 02:22, просмотров: 200) ответил ReAl на Ой, возможно я не понял - что именно кто именно сказал про gcc... На всякий случай - gcc на это не обижается
я не знаю, чего вы там поняли, я имел в виду, что gcc и RealView такие же "специфические" компиляторы как и IAR Я не знаю как у вас получилось скомпилить это в gcc - у меня не получается. Давайте еще кого-нибудь подождем, а пока подумаем...
Афтар хотел const потому что const vs #define позволяет проверять типы на этапе компиляции. Но ему было лень выделять память в одном месте, а в заголовочном файле объявить констовую переменную как extern.
Вы показали путь, используя который можно снизить нагрузку на мозк, тупо определяя констовую переменную в h-файле. При этом у вас все получилось, только вот незадача, в каждом модуле нужно выделять еще память для указателя, "чтобы обязательно сгенерировал "тело" константного объекта n".
Какая ацкая экономия памяти! Какая ацкая экономия труда программиста. К тому же в используемых лично мной компиляторах это не работает. Ацки портируемый подход!
Если это чисто академический интерес "можно или нет", то готов согласиться что можно, даже не тестируя больше ничего. Но только эти тесты хорошо показали что имел в виду htsoft.
До кучи - давайте то же самое с констовым массивом. И в plain С компиляторе... А потом еще сверим это с MISRA
так что фтопку. В заголовочных файлах - только #define, extern и прототипы функций.