Eu enfrentei um problema estranho. Mudei meu projeto de Keil para STM32 IDE. (baseado em Eclipse e GCC). Em Keil não tenho problemas. Mas no Eclipse existe. A CPU é STM32F030xC
Estou definindo uma série de estruturas.
typedef struct
{
int width; // Character width in bits.
int offset; // Offset in bytes into font bitmap.
}
FONT_CHAR_INFO;
const FONT_CHAR_INFO microsoftSansSerif_18ptDescriptors[] =
{
{2, 0}, // !
{6, 25}, // "
{13, 50}, // #
{11, 100}, // $
e assim por diante. Existem 94 elementos. O tamanho da matriz deve ser 8 * 94 = 752 bytes Mas no mapa do vinculador vejo o tamanho 744. E no depurador está faltando um elemento. Com o índice 60. O índice 60 na memória aponta para 61 no array. Outros elementos estão presentes.
Talvez isso esteja relacionado de alguma forma com o alinhamento de dados? Mas o tamanho do array deve ser maior. Estou usando o compilador sem otimização. O que está acontecendo?