NDK編譯中的一些問題記錄

2021-07-09 06:32:48 字數 696 閱讀 1627

3.匯出so裡面的函式

當我們編譯出了so後,呼叫這個so時發現有些方法找不到,可以檢視so檔案是否包含這個函式符號,命令如下:

dumpobj -tt libcocos2d.so | grep

4.將符號轉為函式名

找到了函式符號,可以使用如下命令找到對應的函式:

c++filt

6.取消編譯優化

在將靜態庫編譯進動態庫時,預設情況下,因為編譯優化,靜態庫中一些沒有被呼叫的函式不會被編譯進動態庫,如果想把靜態庫完全編譯進去可以標籤來新增靜態庫:

local_whole_static_libraries

7.需要鏈結的系統預設庫

local_ldlibs := -lglesv2 \

-legl \

-llog \

-lz8.函式定義後面加上attribute((weak))

將本模組的func轉成弱符號型別,如果遇到強符號型別(即外部模組定義了func),那麼我們在本模組執行的func將會是外部模組定義的func。

如果外部模組沒有定義,那麼,將會呼叫這個弱符號,也就是在本地定義的func,直接返回了乙個1(返回值視具體情況而定)相當於增加了乙個預設函式。

9.jni_onload

如果so中實現了此方法,則在呼叫system.loadlibrary時會呼叫此方法。

MFC中的一些問題記錄

cwnd中precreatewindow presubclasswindow subclasswindow的區別 原 clistctrl 使用技巧 改變 clistctrl cheaderctrl 高度 字型 顏色和背景 深度解析vc中的訊息 上 what are tchar,wchar,lpstr...

Eclipse一些問題記錄

eclipse使用過程中會出現一些問題,remark一下,將來遇到問題可以回來查詢 1 有些web專案匯入eclipse工作區中會被錯誤的識別為非web專案,這樣的話你就不能在eclipse中使用jsp容器來啟動那個專案,很煩人 解決方法 可以使用eclipse提供的功能來將那個專案convert ...

Ogg 一些問題記錄

map sycw.tablename,target sycw.tablename,filter getenv transaction csn 1626353633 11g的ogg,需要使用雙引號 transaction csn 如果使用的是12c的ogg使用單引號.在一次借已存在抽取程序,新增投遞程...