資源簡介
操作系統實驗指導書,一個 nesC應用程序有三個部份。:一連串的 C 聲明和定義,一組接口類型,和一組組件。nesC 應用程序命名環境構造如下:
最外層的全局命名環境,包含三個命名域: 一個 C 變量,一個用于C聲明和定義的C 標簽命名域,和一個用于組件和接口類型的組件和接口類型命名域。
通常,C聲明和定義可以在全局命名環境內部引入自己的嵌套命名域(用于函數聲明和定義的函數內部代碼段,等等)。
每個接口類型引入一個命名域,用于保存接口的指令或事件。這種命名域是嵌套于全局命名環境的,所以指令和事件定義能影響全局命名環境中的C類型和標簽定義。
每個組件引入二個新命名域。規格命名域,嵌套于全局命名環境,包含一變量命名域用于存放組件規格元素。實現命名域, 嵌套于規格命名域,包含一個變量和一個標簽命名域。
對于結構,作用范圍變量命名域包含組件用以引用其包含組件的名字 (7.1節). 對于模塊,作用范圍保存作業,以及模塊體中的C聲明和定義。這些聲明,及其它可能引入自己的嵌套在作用范圍內的命名域 (比如函數體,代碼段等等). 由于這種命名域的嵌套結構,模塊中的代碼可以訪問全局命名環境中的C聲明和定義,但是不能訪問其他組件中的任何聲明或定義.。
構成一個nesC應用程序的C聲明和定義,接口類型和組件由一個隨選的裝載程序決定。nesC 編譯器的輸入是一個單獨的組件K。nesC 編譯器首先裝載C文件 (第 9.1 節),然后裝載組件K(9.2節)。 程序所有代碼的裝載是裝載這兩個文件的過程的一部分。nesC 編譯器假定所有對函數,指令及事件的調用不以自然的屬性 (第 10.3 節) 都發生被裝載的代碼中(例如., 沒有對非自然的函數 " 看不見的 " 調用)。
在裝載文件預處理的時候,nesC 定義NESC 符號,用于識別nesC 語言和編譯器版本的數字 XYZ。對于nesC , XYZ 至少為110。
裝載C 文件,nesC組件及接口類型的過程包括定位對應的資源文件。文件定位的機制不是本參考手冊中所要討論的。要詳細了解通用編譯器是如何作業的,請閱讀《the ncc man page.》
裝載 C文件X
如果 X 已經被裝載,就不用再做什么。否則, 就要定位并預處理文件 X.h。C宏定義 ( 由 # define和 #undef) 的改變會影響到所有的后面的文件預處理。來自被預處理的文件X.h的 C聲明和定義會進入C全局命名環境,因此對所有的后來的 C文件加工,接口類型和組件是有影響的。
代碼片段和文件信息
- 上一篇:計算流體力學及其并行算法
- 下一篇:影像匹配-------相關系數法
評論
共有 條評論