我想知道为什么其他编程语言不支持这个特性。我理解C/C++代码是平台相关的,所以要让它在各种平台上工作(编译和执行),需要使用预处理器指令。除此之外,还有许多其他用途。比如你可以把所有的调试printf放在#if DEBUG ... #endif
中。因此,在进行发行版构建时,这些代码行不会被编译到二进制文件中。
但是在其他语言中,实现这一点(后半部分)很困难(或者可能是不可能的,我不确定)。所有的代码都会被编译进二进制文件中,增加了其大小。所以我的问题是,“为什么Java或其他现代编译语言不支持这种更方便地向二进制文件中包含或排除某些代码的特性?”