问题标签 [conditional-compilation]
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.
objective-c - 用于配置的 XCode 预处理器宏?
我希望我的 XCode Objective-C 项目能够检测到它正在构建的配置。我怎样才能做到这一点?
c++ - 在 C++ 中确定 32 位和 64 位
我正在寻找一种方法来可靠地确定 C++ 代码是否以 32 位和 64 位编译。我们已经提出了我们认为使用宏的合理解决方案,但很想知道人们是否能想到这可能会失败的情况,或者是否有更好的方法来做到这一点。请注意,我们正在尝试在跨平台、多编译器环境中执行此操作。
谢谢。
delphi - 自定义定义的范围
我有一个单元,我想在两个不同的程序中使用它,以区分我想定义一个符号,然后在单元中检查它。
在我的项目的 DPR 中;
在我的 Form1 文件中,我有
但是我看不到嘘声!定义是否仅限于某个范围?
c - 我应该为 OS X 特定代码使用什么 C 预处理器条件?
我应该为 OS X 特定代码使用什么 C 预处理器条件?如果我正在为 OS X 编译,我需要包含一个特定的库,或者如果我正在为 Linux 编译,我需要包含一个不同的头文件。
我知道有,__APPLE__
但我不知道这是否是 OS X 10.x 的当前条件。
.net - .NET 条件编译器符号和单元测试库
我的团队有一组针对我们的应用程序代码运行的单元测试库——不幸的是,它们抛出(意外)异常。这样做的原因是我们的日志记录代码被调用并且对象没有被设置。日志代码通过我们使用 PostSharp 设置的方法属性执行(在方法主体执行之前和之后调用)。不应调用该属性。
这是 PostSharp 帮助我们的地方:它寻找一个条件编译器指令 (SKIPPOSTSHARP),它告诉它不要执行。换句话说,如果我们在执行单元测试时定义指令,那么我们就能够独立于日志记录方面来测试所需的代码——成功地避免了不必要的依赖和复杂的模拟代码。
这很棒!除了一个问题......为我们的测试项目定义的条件编译器指令不会为正在测试的项目定义 - 这意味着我们的测试代码仍然使用该属性并且我们的测试都失败了。
是否可以仅在运行单元测试时在整个解决方案中定义编译器指令?即使我们没有将它应用于整个解决方案,是否只能在我们运行单元测试时将指令应用于特定项目(这同样适用)?
我也有兴趣看到关于这种方法的意见(我们正试图通过 AOP 代码实现分离和可伸缩性,但随着我们的进展,似乎确实有一些额外的障碍让我们跳过)。
注意:我在这里不是在谈论集成测试,只是单元测试。我们只想测试特定的单元,我们不关心日志代码是否有效——它会被其他单元测试(工作正常)测试。
c - C - #ifdef 的替代品
我正在尝试简化大量遗留C代码,即使在今天,在进行维护它的构建人员之前,需要一个源文件并在编译之前根据各种类型的环境手动修改以下部分。
示例如下,但这是问题所在。我对我的C 语言生疏了,但我记得不鼓励使用 #ifdef。你们能提供更好的选择吗?另外-我认为其中一些(如果不是全部)可以设置为环境变量或作为参数传入,如果是这样-定义这些然后从源代码访问的好方法是什么?
这是我正在处理的代码片段
asp.net - asp.net MVC - 直接在aspx(site.master)中进行条件编译?
我似乎直接在我的 site.master 中遇到了条件编译标签的问题。
基本上我有以下内容,但它在编译器中报告“无法解析符号调试”,尽管我可以在 DEBUG 和 RELEASE 中运行......但最终输出总是打印我在 RELEASE 或 DEBUG 中的 DEBUG 天气中的内容......
如前所述,编译器没有抱怨,但它在调试时有一些红线,并带有错误消息。我做错了什么?任何人都可以帮忙吗?
java - #ifdef #ifndef 在 Java 中
我怀疑是否有办法在 Java 中创建编译时条件,例如 C++ 中的#ifdef #ifndef。
我的问题是有一个用 Java 编写的算法,并且我对该算法有不同的运行时间改进。所以我想衡量每次使用改进时我节省了多少时间。
现在我有一组布尔变量,用于在运行期间决定应该使用哪些改进,哪些不应该使用。但即使测试这些变量也会影响总运行时间。
所以我想找到一种方法来决定在编译期间应该编译和使用程序的哪些部分。
有人知道用Java做的方法吗?或者也许有人知道没有这样的方法(它也很有用)。
c - 为什么要在 .c 文件中避免使用 #ifdef?
我尊敬的一位程序员在 C 代码中说过,#if
应该#ifdef
不惜一切代价避免使用,除了可能在头文件中。为什么#ifdef
在 .c 文件中使用会被认为是不好的编程习惯?
wpf - 如何在 XAML 中拥有 ifdef
我有很多 XAML 代码,并希望在利用 WPF 4.0 功能的同时保持与 WPF 3.0 的兼容性。UseLayoutRounding
例如,如果可用,我想使用它。当然,我可以在 C# 中做到这一点:
有没有一种优雅的方法可以在 XAML 中完成同样的事情?