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

2021-06-20 18:10:25 字數 859 閱讀 9136

__int64找不到符號

採用int64_t來代替:

#if defined(__android__)

typedef int64_t __int64;

#endif

找不到

android下不需要直接引用該檔案,用下面的巨集去掉即可

#include

#endif

so_nosigpipe找不到

so_nosigpipe在mac中存在,可惜在android中不存在。請使用msg_nosignal來代替

#if defined(__android__)

#define so_nosigpipe

msg_nosignal

#endif

uint64_t, int64_t, uint32_t, int32_t等類似型別找不到

請檢查你的標頭檔案包含,將系統的標頭檔案放在自已的標頭檔案之前。因為你自己的標頭檔案有可以定義了重複的型別,導致系統標頭檔案出錯。

s_iread、s_iwrite或者__s_iread、__s_iwrite找不到

請用s_irusr、s_iwusr代替

pthread_cancel找不到

這個android並未實現,有一些替代方法,具體見:

getifaddrs, 找不到

android並沒有實現。不過謝天謝地,有人已經幫我們實現了。感謝一下他:

找不到請用此來代替:

#if defined(__android__)

#  include

#  define statvfs statfs

#else

#  include

#endif

Android NDK C 開發注意事項總結

相信android開發者都喜歡用c 編寫一些高效的應用,有關android ndk的c 開發相關知識android123總結如下 1.從android ndk r5開始支援了stl port,在這個版本開始就可以使用部分stl庫的功能了,比如說vector string擺脫c下面容易出現的陣列未初始...

系統移植 核心移植

irom soc samsung固化的位址 iram soc 256k dram 片上外設 記憶體 norflash 讀快 啟動u boot noneflash 寫快 啟動u boot emmc 包括noneflash和讀寫noneflash的控制器 sdmmc sd卡 bl1 bl2 1.irom...

移植安裝mysql mysql移植問題

今天在實際開發中對於mysql資料庫進行移植發生的問題來說下.開始把本地data中的資料庫檔案拷貝到另一台機子上test,執行show tables 可以看到資料庫表,但是對錶進行任何操作都報錯 表不存在 原以為mysql的資料庫檔案 frm copy stick到本地安裝mysqldb目錄的dat...