ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
444952 Топик полностью
Mazur (21.09.2013 23:35 - 23:39, просмотров: 65) ответил Bill на можно
По моему не то. Смотрите, пусть на примере этого:  struct tab_key_curr_next_func __flash table_handlers_keys [] = { {KEY_ESC_COD, PROC_MENU_2, PROC_MENU_2, led_1_switch}, {KEY_ENTER_COD, PROC_MENU_2, PROC_MENU_2, led_2_switch}, {KEY_UP_COD, PROC_MENU_2, PROC_MENU_2, led_3_switch}, {KEY_DOWN_COD, PROC_MENU_2, PROC_MENU_2, led_4_switch}, {KEY_PLUS_COD, PROC_MENU_2, PROC_MENU_2, led_5_switch}, {KEY_MINUS_COD, PROC_MENU_2, PROC_MENU_2, led_6_switch}, {0xFF}, }; Если мы откомпилиуем, 0xFF займет 5 байтов( + 1 байт 0x00, если кол-во элементов с нечетным кол-вом байтов нечетное). То есть размер элемента. А этот размер может быть и 50, 100 байтов. Как мне сделать, чтобы признак конца таблицы занял 2 байта (ну и нуль, если кол-во байтов в таблице нечетное, но так как ноль за таблицей, то и хрен с ним. Это особенность 2 байтовой адресации памяти программ)?