Android NDK C 開發注意事項總結

2021-06-17 20:24:26 字數 629 閱讀 7971

相信android開發者都喜歡用c++編寫一些高效的應用,有關android ndk的c++開發相關知識android123總結如下:

1. 從android ndk r5開始支援了stl port,在這個版本開始就可以使用部分stl庫的功能了,比如說vector、string擺脫c下面容易出現的陣列未初始化、越界,增強應用的健壯性。

system              使用預設最小的c++執行庫,這樣生成的應用體積小,記憶體占用小,但部分功能將無法支援

stlport_static      使用stlport作為靜態庫,這項是android開發網極力推薦的

stlport_shared     stlport 作為動態庫,這個可能產生相容性和部分低版本的android韌體,目前不推薦使用。

gnustl_static      使用 gnu libstdc++ 作為靜態庫

預設情況下stlport是不支援c++異常處理和rtti,所以不要出現 -fexceptions 或 -frtti ,如果真的需要可以使用gnustl_static來支援標準c++的特性,但生成的檔案體積會偏大,執行效率會低一些。

5 android目前最新的ndk版本為r6,相關的學習可以檢視ndk中的samples整體和在pc上開發沒有太大的不同。

移植android ndk c 各種相容性問題

int64找不到符號 採用int64 t來代替 if defined android typedef int64 t int64 endif 找不到 android下不需要直接引用該檔案,用下面的巨集去掉即可 include endif so nosigpipe找不到 so nosigpipe在ma...

開發注意點

1.不要在mybatis的xml檔案裡map使用巢狀查詢,如 property inte ceinfo column inte ce code select selectbyinte cecode 可能會導致很嚴重的效能問題 2.定義固定的返回格式類 如 public class effect 3....

iOS開發注意

1 id的妙用,當你在使用一種型別的時候,你可以先用id試試,可能會有意想不到的效果。2 時間戳的賦值給物件的時候,要注意採用long long型別。3 蘋果自帶的nsdate預設是utc時間,utc時間加8小時為北京時間。4 一般說來,經常變動的資料或者資料群體不合適用 define。比如說,ur...