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