Так как мой компилятор дает разные статистические данные для этих двух частей кода, мне интересно, что их отличает, если вообще?
Первый:
typedef const struct process_data
{
uint8_t *name;
void (*p_func)(void);
} process_data_t;
process_data_t processes = {15,16};
И второй:
typedef struct process_data
{
uint8_t *name;
void (*p_func)(void);
} process_data_t;
const process_data_t processes = {15,16};
Обратите внимание, что const
определитель перешел от typedefing к определению структуры. Для меня нет никакой разницы между двумя выдержками, но статистика компилятора/компоновщика показывает, что меньшее количество флэш-памяти (платформа - это микроконтроллер с ограниченными ресурсами) потребляется, когда используется вторая часть кода.