问题标签 [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.

0 投票
2 回答
3376 浏览

.net - 如何在单独的文件(不是 .csproj 或 app.config)中定义条件编译符号

我们需要在类库项目中定义条件编译符号。这不应该在源代码控制中检查(它不适用于所有开发人员),因此它应该在.csprojapp.config文件之外的其他地方定义。如何做到这一点?

0 投票
1 回答
297 浏览

visual-studio - VS2008:如何使 stdafx.h 中定义的符号对资源编译器可见?

我正在 VS2008 下开发一个 VC++ 项目。我的资源文件包含一些用于条件编译的预处理器指令。控制条件编译的一些符号在stdafx.h. 我也需要这些符号对资源编译器可见。我该如何做到这一点?

0 投票
2 回答
1718 浏览

delphi - Delphi 2007 和 {$IFDEF...} 指令,看不到我们的条件

我们的代码库中的组件文件中有以下内容:

原因是对于各种遗留应用程序,将使用一种或另一种类型的数据库连接和一组类。

但是,在配置新机器时,似乎没有考虑我们的条件。在项目设置中,它显示“ADO;DEBUG”,但它使用 odbc 类型编译上述代码。

奇怪的是,它并不一致。作为同一项目的一部分构建的两个不同单元使用不同的设置。换句话说,在一个地方我们的条件是可见的,在另一个地方它不是。

编译错误的文件没有任何 {$UNDEF 或类似指令,也不包含任何文件。

我在这里想念什么?

已解决(呃):是的,Delphi 只是被愚弄了,或者诸如此类。

我们发现了这些:

其中都提到了“Platform=BNB”设置。通过启用诊断输出,我们可以看到准确的值。所以我们尝试根据文章覆盖它,没有运气,仍然是 BNB。然后我们进入项目设置,原来它也可以在那里被覆盖,所以我们也这样做了,仍然没有运气。

结果发现 Delphi 安装程序或其他什么东西在操作系统级别添加了一个“Platform=BNB”环境变量,删除它,重新启动 Delphi,一切都很好。

嗯,和可以预料的一样。不过,我们仍然必须使用 Delphi。

0 投票
4 回答
757 浏览

delphi - (Delphi) 检查函数调用者环境中 switch 指令的状态

我知道我可以使用以下构造检查 Delphi 的 switch 指令的当前状态:

由于我缺乏关于 Delphi 后端编译器如何工作的深入资源,我不确定是否有一种方法可以根据调用它的代码行中 switch 指令的状态来改变函数的行为。它看起来像这样:

我正在为我迫切希望保持不变的遗留代码编写适配器。P3 不需要使用指令,但我认为这是要走的路。

0 投票
3 回答
4067 浏览

vb.net - 项目级条件编译常量

我在尝试构建我的 VB.NET 项目时遇到项目级条件编译常量错误。上面写着:

我最近将它升级到最新版本(从2.0开始),我感觉这与它有关。

这是什么意思?我一无所知...

这是我的项目文件:

0 投票
5 回答
98628 浏览

c++ - ifdef 中的布尔值:“#ifdef A && B”是否与“#if defined(A) && defined(B)”相同?

在 C++ 中,是这样的:

相同:

?

我以为不是,但我无法找到与我的编译器(VS2005)的区别。

0 投票
1 回答
5494 浏览

javascript - @cc_on 在 JavaScript 中是什么意思?

有时我会@cc_on在 JavaScript 中看到。这是什么意思?

0 投票
2 回答
3173 浏览

conditional-compilation - 为什么我无法#ifdef stdafx.h?

我试图在我的 .cpp 文件中包含 2 个特定于平台的stdafx.h文件,但是当我尝试 #ifdef 时编译器不满意。

您可能想知道为什么我在 Mac 代码中使用 stdafx.h,但目前这并不重要 :)。

当我尝试在 Windows 上编译代码时,我收到:Fatal Error C1018。我尝试用#ifdef 将其他头文件包含在同一个文件中,编译器很高兴。因此,看起来 Windows 不喜欢 stdafx.h 被 #ifdef-ed,或者 Windows 只允许#include stdafx.h 成为文件中的第一行。

所以我的问题是,为什么?

0 投票
5 回答
8965 浏览

c# - 是否可以有条件地编译为 .NET Framework 版本?

我记得在使用 MFC 时,您可以通过检查_MFC_VER宏来支持 MFC 框架的多个版本。

我现在正在使用 .NET 4 做一些事情,并且想在几个地方使用 Tuple,但仍然保持其他所有 3.5 兼容。

我想做类似的事情:

0 投票
2 回答
2315 浏览

asp.net-mvc - 如何“白标”我的 ASP.Net MVC 应用程序?

我有一个安装在多个客户服务器上的“白标”应用程序。在任何给定的安装中,差异将包括内容、样式表和图形,还有一些实际的代码/业务逻辑。我希望我的 TFS 服务器自动构建我的应用程序的所有风格。我有什么选择这样做?例如,我应该使用主题吗?#if 条件编译标志呢?

PS 问题不在于如何设置构建服务器——我已经这样做了。