我需要提醒一下,我是在生成C代码,而不是手动操作。我这么说是因为它的背后可能有很多代码,但是编译器应该可以管理所有这些。那么,在C语言中如何模拟lambda表达式呢?我想我可以在源代码中的某个地方生成一个带有随机名称的函数,然后调用它?但我不太确定。我还没有尝试过任何东西,因为我想先将这个想法记录下来,然后再实现它。
是否有一些预处理指令或宏可以使这个过程更加简洁?Jon Blow的编程语言Jai启发了我尝试编写编译器,他似乎在他的语言中实现了Lambda表达式。然而,我认为他做了一些生成字节码的事情,然后转换成C语言?我不确定。
编辑: 我正在开发一个编译器,这只是我的一个项目,让我保持忙碌,同时我也想学习更多关于编译器的知识。我主要使用clang,在Ubuntu 14.10上工作。我没有任何垃圾收集机制,但我想尝试一些类似智能指针/ Rust / ARC等灵感的内存模型来进行垃圾回收,即几乎没有开销。我选择C语言是因为我想更深入地研究它。我的项目是自由软件,只是一个业余项目。
是否有一些预处理指令或宏可以使这个过程更加简洁?Jon Blow的编程语言Jai启发了我尝试编写编译器,他似乎在他的语言中实现了Lambda表达式。然而,我认为他做了一些生成字节码的事情,然后转换成C语言?我不确定。
编辑: 我正在开发一个编译器,这只是我的一个项目,让我保持忙碌,同时我也想学习更多关于编译器的知识。我主要使用clang,在Ubuntu 14.10上工作。我没有任何垃圾收集机制,但我想尝试一些类似智能指针/ Rust / ARC等灵感的内存模型来进行垃圾回收,即几乎没有开销。我选择C语言是因为我想更深入地研究它。我的项目是自由软件,只是一个业余项目。