相信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...