因此,我正在研究固件的「快速和髒」分析器 - 我只需要知道某些函數需要多長時間。僅僅打印每次所花費的時間會使結果偏離,因爲日誌記錄很昂貴 - 所以我將一堆結果保存到一個數組並在一段時間後拋棄。直接從其他人訪問一個編譯單元的靜態變量C
當在一個編譯單元(一個源文件)中工作時,我只是有一堆存儲結果的靜態數組。現在我需要在多個文件中執行此操作。我可以「複製粘貼」代碼,但那隻會是醜陋的(與我一起)。如果我把時間代碼放在一個單獨的編譯單元中,創建靜態變量,並在頭文件中提供存取函數,那麼每次我想訪問這些靜態變量時,我都會招致函數調用的開銷。
是否可以直接訪問編譯單元的靜態變量?
我一直試圖封裝數據,而不是使用全局變量,但這種情況只是由於速度問題。
我希望這是有道理的!謝謝!
編輯:好了,所以纔出現,我問什麼是impossible-做任何你看到的替代品,基本上讓我直接訪問另一個編譯單元的數據?
編輯2:謝謝你的答案巴勃羅和喬納森。我最終接受了Pablo's,因爲我沒有明確的地方讓我得到指向靜態數據的指針(根據Jonathan)在我的情況中。再次感謝!
回覆:*我一直試圖封裝數據,而不是使用全局變量*編程沒有絕對的規則。爲了這個特殊的目的,我想說根據PABlo的答案,可以有一個全局變量。 – JeremyP 2011-01-13 16:51:40