1,我們在用gdb跟蹤程序的時候,發現有些變量不是很好的跟蹤調試,這個時候加全局變量可以更好的用gdb跟蹤,而且我們在最開始寫代碼調試的時候用gdb調試,但是我們在代碼進入集成和終試的時候再用gdb就不合適了,這個時候我們需要打印每個接口函數裏面的數值,這樣的話我們用打印開關或者打印函數來輔助我們來查找問題,所以我們定位我們的問題的時候要分情況,開發初期我們用gdb作爲主要手段,打印作爲輔助手段,而在進入集成的時候主要用打印函數和打印開關來判斷那個函數返回出錯和打印參數的正確與否。
舉例說明:(OTN_PRINTF等價於printf)
其中g_alm_real_gather用來直接保存第一手數據的,其中SDA_OTN_DEBUG是打印函數 ,其中2 == g_almpmlaser是打印開關。
總結:爲什麼用全局變量,數據是怎麼傳遞的
(1)方便調試(打印函數和gdb都可)
(2)保存需要用的數據到全局,一般用結構體賦值,不用的也可以保存
其次我們引入全局變量還可以另外建立打印函數:
上面保存的全