2013-07-17 101 views
-1

現在我知道有人會說沒有閱讀的靜態或匿名命名空間,所以讓我只是說不,我不是在尋找。我正在尋找的東西可以讓我對我的代碼庫中的某個文件進行「隔離」,因此無法訪問該文件以外的任何內容,因此如果有人對其進行更改,則無法在別處無意中將其篡改。這可能嗎?禁止訪問文件外

+0

您是否希望在編譯時或運行時執行此操作? –

+3

爲什麼倒票? –

+0

那麼圖書館電話呢? – VoidPointer

回答

2

讓文件不包含來自項目其餘部分的任何頭文件。當然,這並不能防止惡意編碼,但是,在C++中也沒有其他任何東西。

4

我在找什麼東西可以讓我對我的代碼庫中的文件進行「隔離」,所以它無法訪問該文件以外的任何內容,這樣如果有人更改它,無意中把事情搞糟了。這可能嗎?

絕大多數情況下,不是C++語言的一部分。

爲了實現自己的目標,考慮一個/以下一些:

  • 移動從您的文件中的代碼到另一個庫,以減少測試提供了「擔保」附帶損害
  • 的可能性與像valgrind,淨化,阿三(「地址消毒劑」),電圍欄
  • 進行關於代碼此文件的預期設計的意見(「隔離」,「封裝」等)
  • 構建時的動態工具限制:轉儲源文件中的預處理輸出,標記出現新的#include(例如白名單之外)的情況。