问题标签 [preprocessor-directive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 我如何知道我的编译器是否支持 XXXX C++11 功能?
可能重复:
如何检查 C++11 支持?
我正在编写一个小型库,并且只要编译器支持它们,我就想使用类枚举。我还想使用其他 C++11 功能,例如final
和override
关键字。
到目前为止,我已经使用技巧来确保它可以在所有版本的 GCC 上编译,但是当我启动我的 Windows 分区时,Visual Studio 2010 也开始抱怨。这是我使用的技巧的一个示例:
我知道最新版本的 Visual Studio 也已经支持了一批新功能。我想要的是一组宏,它告诉我正在使用的编译器上有哪些功能可用。
这存在吗?有没有这样做的图书馆?
编译器的文档?
让我澄清一下。我知道如何找到这些信息,我的问题在别处。我不想通过所有可能的编译器文档来收集这些信息,特别是因为同一个编译器可能支持与其版本相关的不同功能。这就是我迄今为止一直在做的事情,而我正在寻找的实际上是一种不这样做的方法。
c++ - 是否有任何控制循环展开的预处理器指令?
此外,假设循环中的所有操作完全独立于其他迭代,编译器如何确定展开循环的程度。
c - 使用预处理器指令在 C 中定义泛型函数
我刚从 C# 来到 C,并正在寻找一种方法来定义像 C# 中的泛型函数。我遇到了这篇文章,但是当我试图编译它时,我得到了一堆错误(“`n' undeclared here (not in a function)”、“在“array”之前的语法错误”等)这是我的代码:
我在这里做错了什么?如果这有所作为,我正在使用 DevC++。
objective-c - #else 正文中没有自动完成选项
在我班的顶部,我定义了一个标志:
然后稍后在我的一个方法中,我声明了一个 staticint
和一个float
. 然后我想检查是否CarsRandom
已定义并采取相应措施:
问题在于,在该#else
部分中,在方法开头声明的变量无法通过自动完成访问。虽然我可以成功构建项目,但我想知道为什么甚至NSLog()
没有出现在自动完成列表中。
monodevelop - Monodevelop 将 #if 和 #endif 之间的所有内容标记为 C# 文件中的注释
我正在使用与 Unity 游戏引擎捆绑的 MonoDevelop 版本。我以前从未在 C# 中使用过#if/#endif,所以我从未注意到这一点。我在一个新的空文件上检查了这个。我该如何解决?
linux - 预处理器指令返回值
我想接收我定义的变量的输出值check
是否#define check something
可以使用某些预处理器指令接收此值?
例如这样的:
#error check
xcode - #define 在目标构建设置的“用户定义”部分,在 xcode 编译代码时未定义
我有一个项目,使用当前版本的Xcode和llvm。
我正在做一个免费和付费版本的游戏,所以我设置了一个预处理器标志来做它。
对于我定义的付费版本目标PAID_VERSION = 1
(在Build Settings的“ User-Defined ”部分)
然而,当我编译时,PAID_VERSION
不断出现未定义的问题。
所以我的#ifndef
和#ifdef
指令构建了应用程序的免费版本。
我环顾了Stack Overflow和Google,并没有发现关于这里发生了什么的提示。
c# - C# 有预定义的符号吗?
在 C++ 中,我有这个: http: //msdn.microsoft.com/en-us/library/b0084kay (v=vs.80).aspx 。
所以我可以编写只在调试时运行的代码,或者只在特定平台(PowerPC、MIPS、Power Macintosh 等)运行的代码。它不再受支持,但它是一个很好的例子。您也可以在 32 位和 64 位系统之间切换(当然,这仅在您发布 2 个不同的版本时才有用,每个版本都有自己的处理器架构。在 C# 中这是一个罕见的需求,但它仍然存在)。
所以我的问题是C#中是否存在类似的东西。我意识到没有宏,但是有符号(即使使用相同的#define
关键字。所以它应该存在 - 至少对我来说是有道理的。
c# - 用于分发的 Monotouch 条件编译
我知道您可以包含指令以根据您是处于调试模式还是发布模式来编译和运行不同的代码。当您构建项目以进行分发时,您可以做同样的事情吗?
我问是因为我刚刚提交并批准了一个应用程序更新,它指向我们测试服务器上的 Web 服务,而不是实时!
c++ - 使用预处理器指令进行测试单元的相关性
我正在使用 Boost 单元测试BOOST_AUTO_TEST_CASE
它需要删除main()
函数来执行测试用例。问题是应该使用哪些指令在 Normal/UnitTest 模式之间切换?我有适用于 Windows 和 Unix 的跨平台应用程序。
我只有一个建议:使用类似#ifndef TESTING
inmain.cpp
并使用手动更改#define TESTING
线?
有没有更好的解决方案?
谢谢