引用 1 楼 tankdin 的回复:
我记得本来就是可以的。
因为start.s里初始化堆栈的过程中给malloc预留了内存空间。
你看看scf文件内存布局那块是否有问题。
另外最好说一下你用什么芯片。
我刚看你另外一个帖子,你能编译通过但是运行会出错应该不太会是IDE的问题。
芯片是LPC2210(EasyArm2200)
*.scf文件
ROM_LOAD 0x80000000
{
ROM_EXEC 0x80000000
{
Startup.o (vectors, +First)
* (+RO)
}
IRAM 0x40000000
{
Startup.o (+RW,+ZI)
}
STACKS 0x40004000 UNINIT
{
stack.o (+ZI)
}
ERAM 0x80040000
{
* (+RW,+ZI)
}
HEAP +0 UNINIT
{
heap.o (+ZI)
}
}
我在main函数中就两条语句:
char *p = (char *)malloc(8);
free(p);
编译是可以通过的,就是运行不能够运行到main函数去