при компиляции строго проекта выдается сообщеине
Error [491] ; . can't find 0xE words for psect "rdata" in segment "COMRAM"
Решил поиграться. последовательное добавление модулей, даже не целиком , а по частям, нашел момент,когда программа компиится.... При добавление всего одной строчки,мало значимой возвращается вышеуказанная ошибка
Предвижу сообщеиня, что-то наподобие, что лучше использовать компилято 9.50 или 9.60, но хотелось бы разобраться.
да и почему версия 9.50 генерит жутко большой код при сипользование указателей ?
<code>
const unsigned char cmdADD[] = "ADD"; //
const unsigned char cmdCLEAR[] = "CLEAR"; // 2 CLEAR<CR>
const unsigned char cmdDUMP[] = "DUMP"; // 3 DUMP<CR>
const unsigned char cmdERASE[] = "ERASE"; // 4 ERASE<CR>
const unsigned char cmdGET[] = "GET"; // 5 GET (VOLTAGE/DATA/TIME/PAGE)<CR>
const unsigned char cmdLIST[] = "LIST"; // 6 LIST<CR>
const unsigned char cmdSET[] = "SET"; // 7 SET (DATA/TIME)<CR>
const unsigned char cmdSGET[] = "SGET"; // 8 SGET<CR>
const unsigned char cmdSGET2[] = "SGET2"; // 9 SGET2<CR>
typedef struct
{
unsigned char Length;
unsigned char CntParam;
unsigned char *CmdStr;
}sCmd;
near sCmd CmdArray[] = { {sizeof(cmdADD)-1, 6, cmdADD},
{sizeof(cmdCLEAR)-1,1, cmdCLEAR},
// {sizeof(cmdDUMP)-1, 1, cmdDUMP},
// {sizeof(cmdERASE)-1,1, cmdERASE},
// {sizeof(cmdGET)-1, 2, cmdGET},
// {sizeof(cmdLIST)-1, 1, cmdLIST},
// {sizeof(cmdSET)-1, 2, cmdSET},
// {sizeof(cmdSGET)-1, 1, cmdSGET},
{sizeof(cmdSGET2)-1,1, cmdSGET2}};
static unsigned char *PtrCmdString;
далее беру казатель, для работы с массивом комманд
PtrCmdString = (CmdArray[Index1].CmdStr);
последующее использование PtrCmdString: (CmdStr[i++] = *(++PtrCmdString))
генерит избыточный код в плане работы с указателями
</code>