为什么C++被提及为'usually'编译语言?
Why was C++ mentioned as a 'usually' compiled language?
在C 标签Wiki中,据说
c 是...(通常(编译...编程语言...
但是Wikipedia和cplusplus.com断言C 是一种编译语言而没有提及任何例外。
您能告诉我们C 是通常而不是始终,一种编译语言的原因吗?何时可以将C 视为非编译语言?
Wikipedia:
c 是一种编译的语言,在许多平台上都可以实现IT的实现。
cplusplus.com:
...是一种编译语言。 C 直接编译到机器的本机代码,允许
这可能表明存在非编译形式的C 。是什么使Wiki陈述为"通常"?
因为C 标准定义的" C "只是一种在抽象机中运行的编程语言。实现可以自由地做他们想模拟该抽象机器的行为的任何事情。
因此,不管某人是否真正制作了C 解释器,都说C 总是被编译的是一个毫无根据的假设。
没有任何技术原因为什么您不能编写 c 解释器而不是编译器,我相信过去已经写了一些。
c也是一种(通常(编译的语言,但我本人在20年前写了一本(缓慢,递归体面的(C89口译员。C 只是(多(同一问题的更难版本。
有一些C 子集的解释器(相关问题(,但是绝大多数C 工作都是使用编译器完成的。使用口译员是如此罕见,以至于没有C 文献或较大的C 库或程序不明确/对于这些解释者而言,将其限制为可以在解释器上使用的C 子集。
使用C ,实际上比解释任何c 更为普遍。
无论如何,我读过的最新相关新闻(在黑客新闻上(是关于C 17 repl。
在大多数情况下,C 是编译的,但是,Cring是C 解释器。我没有尝试过太多,但似乎是一个相当完整的C 实现。