Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 始终返回true(编译器不知道)的表达式_Debugging - Fatal编程技术网

Debugging 始终返回true(编译器不知道)的表达式

Debugging 始终返回true(编译器不知道)的表达式,debugging,Debugging,在进行实验时,我经常使用if(true){..}或if(false){..}来分割我正在玩的代码块 问题是,现在的编译器有时会对无法访问的代码发出警告。然后,我必须将我的代码升级为类似于if((10%2)==0),但是一些更智能的编译器也认为这是不可能实现的。。(于是一场小武器竞赛开始了……) 我该如何解决这个问题?为什么不使用某种“环境变量”来控制这种事情呢?将其设置为reall条件,则不会与编译器发生冲突 if ( environment.MODE_EXPERIMENT) { ex

在进行实验时,我经常使用
if(true){..}
if(false){..}
来分割我正在玩的代码块

问题是,现在的编译器有时会对无法访问的代码发出警告。然后,我必须将我的代码升级为类似于
if((10%2)==0)
,但是一些更智能的编译器也认为这是不可能实现的。。(于是一场小武器竞赛开始了……)


我该如何解决这个问题?

为什么不使用某种“环境变量”来控制这种事情呢?将其设置为reall条件,则不会与编译器发生冲突

if ( environment.MODE_EXPERIMENT) {
     experimental code here
}

就我个人而言,我尽量避免做这种事情,我们的SCM系统允许我们保留旧版本的代码,真的不需要做太多。

为什么不使用某种“环境变量”来控制这种事情呢?将其设置为reall条件,则不会与编译器发生冲突

if ( environment.MODE_EXPERIMENT) {
     experimental code here
}
就我个人而言,我尽量避免做这种事情,我们的SCM系统允许我们保留旧版本的代码,真的不需要做太多。

这应该可以:

if (atoi("1")) {
}
这对于生成任何类型的常数也很有用。

这应该可以:

if (atoi("1")) {
}

这对于生成任何类型的常量也很有用。

尝试使用预处理器标志将其移出代码:

#if false 
    .... code which won't get run ....
#endif

有些IDE甚至会折叠这些无法运行的块,以避免它们碍事。

尝试使用预处理器标志将其移出代码:

#if false 
    .... code which won't get run ....
#endif

有些IDE甚至会折叠这些无法运行的块,让它们不碍事。

几乎每种语言都有一个编译器/IDE不会抱怨的
if(false){}
版本。最常见的(afaik)如下所示:

/*
    int i = 0;
    String s = "I will never be run!";
*/
是的,评论。准确地说,多行注释。阻止代码块运行几乎是它们的第二个主要目的(在文档之后)<当然,如果(true),则通过不使用它们来处理


你试图在这里重新发明轮子,我不知道为什么。

几乎每种语言都有一个编译器/IDE不会抱怨的
if(false){}
版本。最常见的(afaik)如下所示:

/*
    int i = 0;
    String s = "I will never be run!";
*/
是的,评论。准确地说,多行注释。阻止代码块运行几乎是它们的第二个主要目的(在文档之后)<当然,如果(true),则通过不使用它们来处理


你想在这里重新发明轮子,我不知道为什么。

@martijn:这个问题似乎很好。我对它进行了编辑,删除了“列出所有的东西”。@RobertHarvey:check;如果没有列表请求,这确实没问题。投票被撤回。@RobertHarvey:但这是关于什么语言的呢?C?@martijn:这个问题似乎很好。我对它进行了编辑,删除了“列出所有的东西”。@RobertHarvey:check;如果没有列表请求,这确实没问题。投票被撤回。@RobertHarvey:但这是关于什么语言的呢?C