在没有动态内存分配(即堆)特性的情况下,除了C和C++之外,还有其他语言可以显式使用吗?在一些关键任务的嵌入式系统中,禁止使用堆来消除可能连续运行多年的软件的内存泄漏问题。我看过一些函数式语言,即和的嵌入式强调,但这两种语言似乎都与垃圾收集器一起使用堆。和也使用垃圾收集器,尽管存在静态类型,而且显然Python、Ruby和其他动态类型化语言严重依赖垃圾收集和堆空间。
any 高级语言支持这种不动态分配内存?的要求。
可以在堆栈或堆中静态地分配内存块。我想知道一种检测指针是否指向堆的方法。我在Windows和Linux上工作,这不是问题,每个操作系统都有不同的解决方案。我用的是GCC和明。如果我能知道堆在哪里开始,在哪里结束,我认为这个问题就可以解决。我认为我可以检测堆栈的底部和顶部,以便知道块是否在堆栈中,但如果有多个线程,那么就有多个堆栈。我想如果指针没有指向代码块的开头,我就会有问题:
type* x = &(pointer[3]);