Как в коде получить число X, которое выводит компилятор в своем сообщении: “Глобальные переменные используют X байт (**%) динамической памяти, оставляя …” ?
Прочитай скрипт линкера, посмотри как там зоны расположены, и посчитай в коде разницу между началом и концом зоны, где лежат глобальные переменные.
А можно узнать - зачем?
Это число - “сферический конь в вакууме” и от него очень далеко до оценки реального использования памяти в программе.
Чет сложно глубоко вникать. Методом тыка совпало с компилятором:
extern int __heap_start;
(int)&__heap_start - 256 // The Stack Pointer must be set to point above 0x0100 для моего проца
На себя только такой «тык» не направляй. Мало ли чё…