【发布时间】:2012-06-29 11:50:09
【问题描述】:
Go 中没有文本预处理。像 Java 和其他类似的,如果我想删除代码块,我可以使用 const 值并用 if 包围代码。
如果我这样做,编译器是否会优化来自 AST 和生成代码的代码?还是每次都执行条件?
编辑:如果我想复制 #ifdef 最好的方法是什么?
【问题讨论】:
-
任何体面的编译器都会对此进行优化。不过,在构建 AST 的同时进行优化(就像 GCC 一样)将是愚蠢的。
-
是的,但是 Go 编译器能做到吗?另外,优化 AST 有什么问题?
标签: go