看<黑客与画家>发现这句话
"尽管事实上静态类型语言看来无法真正支持宏(在我看来,一种语言不支持宏,那就不值得使用了)。"
但是, C语言作为静态语言不是支持宏么?
我搜索了下, 没有找到想要的答案...
有高手解答下么?
"尽管事实上静态类型语言看来无法真正支持宏(在我看来,一种语言不支持宏,那就不值得使用了)。"
但是, C语言作为静态语言不是支持宏么?
我搜索了下, 没有找到想要的答案...
有高手解答下么?
1
middleware Jun 17, 2013 宏是语法分析阶段的能力,静态语言没有道理「不能支持」,只不过没有支持的实际语言而已。
C 的宏是简单替换,不是语法意义上的宏。 如果不用 S-exp 作为语法,实现宏比较困难,因为无法用语言本身来很自然的操作语法树。但是也不是完全不可能。 |
2
zhy0216 OP @middleware 貌似有点明白了, 谢谢~
|