幫助函數就是一種典型的其他服務。在BREW 的應用程序中,不能直接調用標準C庫函數,而是要借助手函數來實現相應的功能。幫助函數實現了標準的ANSI C 庫函數,在應用程序中不能調用標準的C庫函數,而是調用幫助函數API代替之。應用程序可直接調用幫助函數,而不需要接口指針減少了不必要的對標準C類庫的鏈接,減少了動態應用程序中的不必要的靜態數據,使得應用程序可移植。例如,在BREW 運行環境中動態開辟內存時只能使用助手函數MALLOC()而不能是標準C庫函數malloc( ):釋放內存時則只能調用FRE以等。在字符串處理方面,BREW提供了STRCPY(), STRCAT()和STRDUP()等助手函數。BREW 應用程序中的浮點運算不能直接使用+、一、X和/等運算符,而是要借助FADD ()、FSUB ()、FMUL()和FDIV ()等助手函數實現浮點數的運算。
BREW中的數據結構有四種主要類型:
結構和聯合:一些BREW函數使用結構指針作為輸入參數。要使用此類函數,需提供一個結構實例,并在調用函數時傳遞指向該實例的指針。一些BREW函數則可能返回結構指針作為輸出。
枚舉類型:有的BREW變量和結構成員從C typedef枚舉結構所定義的有限集中取值。例如,文本繪制函數所支持的字體類型即由枚舉類型定義指定。
常量定義:BREW函數使用的常量是由#defin。語句定義的宏。一種常見用法是定義一組位掩碼,以測試和設置位向量變量中的位值。每個控件定義一組位掩碼常量,用于測試和設置各種控件屬性值。
宏定義:BREW 中把大量的函數指針,接口的函數調用定義為宏或者是typedef。
此外,BREW還使用typedef定義了許多屬于BREW用到的基本類型,比如說ints,int16,int32,uints,uint16,uint32等typedef類型,其實就是C語言中的8位,16位,32位的有符號或者無符號數。這里需要特別指出的是,C語言中沒有boolean類型,BREW中使用typedef定義了unsigned char類型作為boolean類型,取值是宏定義TRUE,FALSE。
?
?