问题标签 [ifdefine]

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 投票
1 回答
94 浏览

apache - IfDefine 和 RewriteBase 不能很好地协同工作

当我使用此代码时,它可以正常工作:

但是当我添加它时,它总是使用RewriteBase \这不是我想要的。

条件已经不同了。其中之一是定义 ServerBase 时,其中之一是未定义 ServerBase 时。如何将 IfDefine else 模式与 RewriteBase 一起使用?

0 投票
1 回答
252 浏览

c# - 如何使用预处理器知道 C# 的版本?

我在调试模式下的项目包含仅支持 C# 7.3 的构造。但在发布模式下,项目应基于 C# 7.0 构建,无需特定代码行。

我知道一些标准的预处理器符号,例如NET472andNETSTANDARD2_0但它用于处理不同的标准及其版本。它对语言版本条件无用。

我期待一些技巧,比如

现在我使用该语句:

但如果我在项目属性中更改语言版本,它将不起作用。

0 投票
3 回答
97 浏览

c - ifdef中的gcc编译函数

我有这个代码

编译它gcc test.c -o test -static -D B

当我运行程序时,我发现它test2没有运行(很好)

但是当我运行字符串时,我可以end test2在二进制文件中看到它。为什么?gcc 不需要编译它!

当我编译这段代码

gcc test.c -o test -static -D B

gcc 告诉我undefined reference to 'test1'为什么?我不希望那个 gcc 甚至编译函数test2,所以 gcc 不需要知道我使用了那个未定义的函数。

test2当我通过-D不等于时,我能做什么让 gcc 看不到A

0 投票
1 回答
62 浏览

c - #ifdef 导致冲突,即使我使用了#endif

这就是我正在做的,但它给了我:“错误:value_t 的类型冲突”

我不确定为什么它不起作用,有人可以帮忙吗?

这是我用于两个程序的头文件中,其中一个正在使用 -DFRACT 运行。

而另一个使用-DINT,并且我没有同时运行-DINT和-DFRACT,那么为什么会导致冲突?

gcc -DFRACT -o program1 program1.c

这就是我运行program1的方式..

对于程序2:gcc -DINT -o program2 program2.c

我还检查了所有其他头文件的重复项,但没有找到,谢谢!

0 投票
1 回答
60 浏览

c - 具有路径的库的 MACRO 以避免在 C 中包含两次库?

我如何使用#ifndef这样#include "../log/name.h"的库在具有多个源文件和头文件的项目中仅插入一次库。

0 投票
1 回答
48 浏览

c - 我应该将“RED”更改为什么?

'''

'''

我正在研究#if #ifdef。

[ 颜色 = 蓝色 ] 是错误的。但是 [ color = RED ] 不是错误。

我将“蓝色”更改为“红色”,但它仍然不起作用。为什么?

0 投票
1 回答
195 浏览

c - 检查是 C 结构中的成员

我想访问结构中的成员,但检查该成员是否存在

有没有办法检查成员a是否在 struct m 中,如果不能使用 b 访问#ifdef?就像是#ifdef MyStruct.a temp.a=3; #else temp.b=3; #endif

0 投票
0 回答
76 浏览

c++ - 带有条件编译和代码覆盖工具的 GTest

我正在编写一个中等规模的科学代码,我负责为其添加全面的测试。我的 googletest 运行良好,但遇到了一些问题。

  1. 该代码通过 ifdef 语句大量使用条件编译。有什么方法可以一次测试整个代码,还是我只需要使用一组定义进行编译、测试该组、使用另一组编译、测试等?
  2. 我试图找出一种计算代码覆盖率的好方法。每个人似乎都建议我使用 gcov/lcov,但他们并没有给我有用的结果。他们要么似乎告诉我包括导入库(如 STL)在内的覆盖率,要么只是告诉我测试本身运行,而不是正在测试的任何内容。他们也只是显示了被测试代码的代码覆盖率,而不是我没有测试的代码。并且它表明它正在测试许多功能,而它应该只测试一个功能。即,对于单个函数,我得到的结果类似于“覆盖 8/8 行,覆盖 14/14 个函数”。

我不致力于 gcov,如果有人有更好的主意,我愿意切换。GoogleTest 我相当投入,因为它具有我们需要的一些其他测试框架似乎没有的功能;即死亡测试和线程安全。

这一切有意义吗?我真的很想以一种优雅的方式解决这个问题。