原创 漢明距離的NEON版本

代碼轉自chromium中的libyuv。 // 256 bits at a time // uses short accumulator which restricts count to 131 KB uint32_t Hamm

原创 visual studio release模式下調試

visual studio release模式下調試方法如下: 項目 --> 屬性 --> C/C++ --> 常規 --> 調試信息格式 --> 程序數據庫 (/Zi) 。 項目 --> 屬性 --> C/C++ --> 常規

原创 平面與直線的交點

平面與直線的交點 在3D中,線L平行於平面P或者在單個點上與其相交。令L由參數方程式給出:P(S)= P0 + s(P1-P0) = P0 +su,並且平面P由其上的點V0和法向量N=(A,B,C)給出。我們首先通過測試n·u=0

原创 opencv3.4.2 android編譯

轉自:https://www.520mwx.com/view/7113 設置環境變量 ANDROID_NDK= ANDROID_SDK= 下載源碼 git clone https://github.com/opencv/opencv

原创 Androd.mk獲取git的commit id

在Androd.mk增加如下代碼: COMMIT=$(shell git rev-parse --short HEAD) LOCAL_CFLAGS += -DCOMMIT_ID=\"$(COMMIT)\"

原创 JNI通過java class參數修改該類中String類型的成員變量

舉例說明JNI如何通過java class參數修改該類中String類型的成員變量,如下所示array爲Test類的一個成員變量。 public class Test { String array; Test() {

原创 JNI調用java函數

假設Java回調接口如下,JNI如何回調這麼接口呢? public interface Listener { void onChanged(int state); } 首先獲取虛擬機指針,JNI_OnLoad系統自動調用。

原创 Android應用耗電量測試

測試方法 測試工具爲adb,測試步驟如下: 關閉手機上無關軟件。 連接電腦,運行adb shell dumpsys batterystats --reset重置電池記錄,重置成功顯示“Battery stats reset.

原创 Xcode把多個靜態庫打包成一個庫

Xcode把多個靜態庫打包成一個庫 把Perform Single-Object Prelink設置爲Yes。 在Prelink libraries參數下把需要合併的靜態庫路徑進行設置。

原创 JNI通過java class參數修改該類中數組類型的成員變量

舉例說明JNI如何通過java class參數修改該類中數組類型的成員變量,如下所示array爲Test類的一個成員變量,類型是double數組。 public class Test { double []array;

原创 JNI加載和鏈接Native Methods

JNI加載和鏈接Native Methods 使用該System.loadLibrary方法加載Native Methods。在以下示例中,類初始化方法加載庫,其中f定義了Native Methods。 class Cls {

原创 如何獲取Qt3DWindow的事件

如何獲取Qt3DWindow的事件? 繼承Qt3DWindow並在子類裏重載監聽事件的代碼。 舉例如下: my3dwindow.h #ifndef MY3DWINDOW_H #define MY3DWINDOW_H #include

原创 使用android-ndk-profiler對native代碼進行性能分析

android-ndk-profiler需要使用gcc進行編譯,從NDK r13b 起NDK使用的默認編譯器從gcc換成了clang,官方提供了Simpleperf工具進行性能分析,具體情況可以參考https://developer.an

原创 使用ndk-stack定位so庫crash位置

ndk-stack 工具讓您可以在堆疊追蹤出現在 adb logcat 的輸出中時過濾它們。 它還可以從源代碼將共享庫中的任意地址替換爲對應的< source-file: < line-number> 值,從而更容易找出問題所在。 例如,

原创 opencv videocapture無法讀取視頻

opencv videocapture讀取視頻編譯通過,但運行時調用isOpened()返回false。沿着代碼一步步Debug進去,發現如下代碼: CvCapture* cvCreateFileCapture_FFMPEG_proxy(