是否有无堆栈和无堆栈的编程语言?

时间:2018-09-19 02:34:53

标签: stackless

是否存在无堆栈和无堆栈的静态编译编程语言?

对于数据,这种语言将没有内存分配的概念。取而代之的是,程序的内存需求将在编译时完全了解。

对于代码,将没有调用堆栈的概念。可能有功能,但是会在每个呼叫站点内联。

我对具有某种形式的实现或产生本机二进制文件的编译器的便携式语言特别感兴趣。

1 个答案:

答案 0 :(得分:0)

纯x86机器语言适合您的无堆栈和无堆栈约束(在实模式约束下)。除非编译器可以访问所有受支持平台的固定的所有硬件IO(存储位置),否则无法移植。 (此条件不包括所有动态接口,包括即插即用,USB和PCI / PCIE总线)

完全有可能在严格的硬件限制内创建这样的结构(每个设备都必须在启动时进行编译和分配,例如在c64或Apple II之类的较旧计算机中),但所有功能必须可以在平台上运行的每个程序中预先编译到操作系统中。

这不再是通用的计算平台。编写一个微控制器,GPU或ASIC来解决该任务。