casio1374633

导航

 

转载自:http://livehappy.iteye.com/blog/865277

C代码

 #define DEBUG   

    调试完成后只需将这个define命令行删除即可。有人可能觉得不用条件编译也可达此目的,即在调试时加一批printf语句,调试后一一将printf语句删除去。的确,这是可以的。但是,当调试时加的printf语句比较多时,修改的工作量是很大的。用条件编译,则不必一一删改printf语句,只需删除前面的一条“#define DEBUG”命令即可,这时所有的用DEBUG作标识符的条件编译段都使其中的printf语句不起作用,即起统一控制的作用,如同一个“开关”一样。
        Java这种常用在大型案例的语言沒有类似的功能,不过要模仿#ifdef的功能是可以的。简单说,Java 编译器为了最佳化,只要发现条件式的值为false,编译时就会把该区段代码忽略。所以只要定有一个 public final boolean 变量就可以了。例如:

新建一个package ,比如: com.foo.debug

建立一个debug.java

1 package com.foo.debug;
2 
3 public interface Debug    
4     {    
5 //        public final boolean ENABLE = false;  
6         public final boolean ENABLE = true; 
7     }

在其他java中引用即可

1 //import Debug
2 import com.foo.debug.Debug;
3 
4 //....
5 if(Debug.ENABLE) {
6    Log.d("HelloWorld_activity", "Toast \"HI\"");
7 }
8 //....

 


 

posted on 2016-04-20 11:09  casio1374633  阅读(957)  评论(0编辑  收藏  举报