【发布时间】:2011-02-22 22:11:04
【问题描述】:
在 C 语法系列语言(C、C++、Java、C#、ObjC、JS、AS、...)中,具有兼容的预处理器(在任何程度上)使用 C 预处理器?
【问题讨论】:
-
作为补充说明,Fortran 和一些汇编代码通常也使用 C 预处理器。
标签: preprocessor compatibility c-preprocessor
在 C 语法系列语言(C、C++、Java、C#、ObjC、JS、AS、...)中,具有兼容的预处理器(在任何程度上)使用 C 预处理器?
【问题讨论】:
标签: preprocessor compatibility c-preprocessor
Objective C 是 C 语言的超集,最初是作为 C 代码的附加预处理器实现的。它与 C 预处理器完全兼容。
你提到的其他人都没有与 C 规范兼容的预处理器。请记住,在许多情况下,预处理器是特定于汇编器/编译器的东西,您正在寻找的功能可能会或可能不会在不同的专有 IDE/编译器中找到。
当然,C++ 也是 100%(或多或少)兼容的。
【讨论】:
C++ 和 Objective-C 都使用 C 预处理器,其他都没有。
如果需要,您可以随时将宏处理器或模板语言添加到任何构建过程中。
【讨论】:
Java 和 JS 没有预处理器(JS 可以理解,真的,因为您可以将字符串作为语言中的代码运行)。不确定 AS,但 C、C++ 和 ObjC 都有 C 级预处理器。
C# 确实有一个预处理器,但我从未使用过它,因此无法谈论它的用途。 http://msdn.microsoft.com/en-us/library/ed8yd1ha(VS10.0).aspx
Boost 预处理器库很棒。
【讨论】: