Я экспортировал ярлык __heap_base из файла запуска keil (__heap_base - это ярлык, указывающий на начало кучи).В файле AC объявлен __heap_base как extern и назначен адрес __heap_base пустому указателю. Но этот пустой указатель всегда имеет значение 0x00000000 и, следовательно, не может использоваться для указания на базу кучи.Поэтому мой косвенный вопрос заключается в том, как сохранить базовый адрес кучи в указателе и использовать его в качестве аргументов для функций управления памятью, которые я могу объявить и определить
#include <stdint.h>
extern uint32_t __heap_base;
void* original_heap_base=&__heap_base;
/*void get_heap_base()
{
original_heap_base=&__heap_base;
}*/
void* mem_init()
{
void *temp=original_heap_base;
original_heap_base+=4;
return temp;
}
int main()
{
int *p=(int*)mem_init();
*p=5;
return 0;
}