是否有一种既无堆栈又无堆的静态编译编程语言?
对于数据,这样的语言不会有内存分配的概念。相反,程序的内存需求将在编译时完全知道。
对于代码,不会有调用堆栈的概念。可能有函数,但它们会在每个调用站点内联。
我对具有某种实现形式的可移植语言或生成本机二进制文件的编译器特别感兴趣。
是否有一种既无堆栈又无堆的静态编译编程语言?
对于数据,这样的语言不会有内存分配的概念。相反,程序的内存需求将在编译时完全知道。
对于代码,不会有调用堆栈的概念。可能有函数,但它们会在每个调用站点内联。
我对具有某种实现形式的可移植语言或生成本机二进制文件的编译器特别感兴趣。
纯 x86 机器语言适合您的无堆栈和无堆约束(在实模式约束内)。可移植性是不可能的,除非编译器可以访问所有硬件 IO(内存位置)的每个内存位置,这些内存位置对于所有支持的平台都是固定的(这种情况不包括所有动态接口,包括 PlugandPlay、USB 和 PCI/PCIE 总线)
在严格的硬件限制内创建这样的结构是完全可能的(每个设备都必须在启动时编译和分配,就像在 c64 或 Apple II 这样的旧计算机中),但所有功能都必须预编译到操作系统中,如每个可能在平台上运行的程序。
这不再是一个通用的计算平台。改为编写微控制器、GPU 或 ASIC 来解决任务。