2013年8月23日 星期五

在程式中開關 log 的方法

撰寫程式, 不論是為了除錯, 或是了解程式運作的狀態, 需要在程式代碼中 加進一些 log.
一旦加入 log, 當然也需要一個開啟和關閉 log 的機制. 而且必須是一個方便使用的開關機制.

一般來說, 我們可能會使用 以下的方式在程式代碼中加入 log

  #define MY_DEBUG
  .......

  #ifdef  MY_DEBUG 
  printf("This is a log.\n");
  #endif
  .......

使用 MY_DEBUG 控制 log 機制的開啟和關閉.
這種做法的缺點是 加入 log 的同時也必須跟著加入 #ifdef 和 #endif. 撰寫上不方便 且程式代碼會看起來比較凌亂.

2013年8月15日 星期四

Linux PID 何時會被重複使用

在 Android 中, 大部分的 app在執行時, 若是使用者按下 back 鍵 回到桌面, 該 app 的 process 會暫停執行, 但是 process 可能仍然會存在系統中. 如圖一所示是尚未執行 app 前的系統 process 狀態:
圖一 未執行app 之前系統中的 process