|
|
1
13
预处理器最初是C语言所必需的,原因有几个。如果我没记错的话,原来C没有常量,所以
在C++中使用预处理器是可接受的甚至是必要的少数情况下,
|
|
|
2
10
Java、C#或Scala中没有使用预处理器的原因是这些语言显然没有预处理器。 C预处理器的一个常见用途是帮助提供特定于平台的代码。由于C(这里包括C++和Objective-C)是一种需要直接与操作系统交互的低级语言,因此在可移植代码中,必须为不同的操作系统编译不同的代码段。您可以在成熟、高度可移植的代码库中找到这类事情的大量示例,例如 zlib .
预处理器还提供了一种在C中定义常量的方法,这些常量由新语言中其他更好的语言特性提供。
|
|
|
3
9
接口或实现没有语言构造。因为不同的.c文件共享一个接口视图至关重要,所以编程规程演变为将声明(即接口)放入.h文件中,并使用文本包含共享这些声明/接口(
源代码分析 和 调试 |
|
5
3
|
|
|
6
1
预处理在Java世界中非常普遍。它用于弥补该语言缺乏足够的内置抽象设施,否则会导致无休止的复制和粘贴样板代码。
|
|
7
1
|
|
|
8
1
|
|
|
9
1
我认为这是一个单独的工具,因为编译器不是我们今天所知道的一种工具。我听说,非常古老的C编译器过去常常将令牌生成到文件中,然后在单独的阶段进行其余的编译。我能想到的主要原因是,与我们今天所拥有的相比,内存和其他资源非常稀缺。 |
|
|
10
0
|
|
|
11
0
source filters ,它们基本上是用Perl编写的自定义Perl预处理器:) |
|
|
12
0
C#复制(或继承)了Java的大部分设计决策。 高级编程语言避免了这种低级工件。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |