Цитата(am1808 @ Jan 17 2012, 10:19)

да не может быть
И тем не менее - факт. Я понимаю, что это не укладывается в стандартные правила Си. Сам удивлён.
Код
extern TLimit WeightChannelTableLimits[];
т.е. вы хотите сказать, что вы в другом модуле значения в экспортируемом массиве можете изменить, когда вы его определили как const?
Нет, я хочу сказать, что мне как раз не нужно чтобы эти значения изменялись. Кроме того, я хочу чтобы они хранились в сегменте, который лежит в флэше. В принципе можно и убрать модификатор "const", и тогда при каждом старте программы всё равно будет происходить инициализация, но некрасиво, поскольку значения будут лежать в RAM памяти, и будет отсутствовать контроль попыток их изменения.
Цитата(maksimp @ Jan 17 2012, 10:28)

Поместите
Код
extern const TLimit WeightChannelTableLimits[WEIGHT_RAMETER_LENGTH];
или просто
Код
extern const TLimit WeightChannelTableLimits[];
в каждый из файлов - и тот где объявляется и тот где используется.
То есть в первом файле прямо пишите:
Код
extern const TLimit WeightChannelTableLimits[];
const TLimit WeightChannelTableLimits[WEIGHT_RAMETER_LENGTH] = {
{0.0,0.0},
{0.0,0.0},
{0.0,0.0},
{0.0,0.0},
{0.0,0.0},
{0.0,0.0},
{0.0,0.0},
{0.0,0.0}
};
Спасибо, сработало. Ещё если бы и объяснили, почему?