← Home

23 April, 2021

前几天在B乎上看到一个问题...《java有没有宏?》

这...我想了半天,这种语法规则问题基本百度就能找到,这...

java作为解释型语言宏肯定是没有的...这里稍微说一下宏这个东西的作用吧。

C/C++等编译型语言一般为了跨平台编译的方便性,肯定会在一些无法跨平台的代码中编写宏,宏会在编译期展开不会影响程序在执行时的性能。

宏具体会怎么展开就要看展开的条件了,比如只有类UNIX才能用的宏,或者配合环境变量展开的宏。还有一些能节省代码的宏。

Rust的宏非常变态,你甚至可以用Rust的宏自定义一门编程语言...

解释型语言基本上屏蔽了不同平台之间的细节,而且没有编译期,也就不需要宏这种东西了。