"静态类型语言看来无法真正支持宏"??

2013-06-17 19:40:24 +08:00
 zhy0216
看<黑客与画家>发现这句话
"尽管事实上静态类型语言看来无法真正支持宏(在我看来,一种语言不支持宏,那就不值得使用了)。"

但是, C语言作为静态语言不是支持宏么?

我搜索了下, 没有找到想要的答案...

有高手解答下么?
2683 次点击
所在节点    问与答
2 条回复
middleware
2013-06-17 19:45:31 +08:00
宏是语法分析阶段的能力,静态语言没有道理「不能支持」,只不过没有支持的实际语言而已。
C 的宏是简单替换,不是语法意义上的宏。
如果不用 S-exp 作为语法,实现宏比较困难,因为无法用语言本身来很自然的操作语法树。但是也不是完全不可能。
zhy0216
2013-06-17 20:14:20 +08:00
@middleware 貌似有点明白了, 谢谢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/72686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX