原创 配置vim爲程序編輯器

程序員圈子裏有這樣一個傳說,用vim編程的都是大神。工作近七年未見一人是這種操作,本週開始我決定改用vim進行編程,最終實現雙手不離鍵盤不動鼠標的終極目標! 本文講解vim配置方法,後面還會講到常用快捷鍵,使用中的一些心得。已經使用了三天

原创 onvif——1——從零到可以編程

在老東家做了五年的onvif,都是在已有架構上改,偏業務,由於各種原因一致也沒有從頭搭建過。新東家要做onvif,這回我全權負責,光桿司令一枚,配上我這個司令之前做的rtsp,現在已經能夠基本運行,odm和海康NVR都OK。這篇文章就從頭

原创 opencv3.4.0安裝

ubuntu18.04安裝opencv3.4.0 1、apt-get install aptitude 2、apt-get install cmake 3、apt-get install libgtk2.0-dev 4、aptitude

原创 動態庫鏈接動態庫運行問題

問題 liba.so包含函數符號abc,libb.so裏面又調用了函數abc。程序運行的時候如果普通dlopen會報錯,libb.so無法找到符號abc。 原因   解決  

原创 解決一個信號6問題(sig6,signal6,SIGABRT,double free or corruption (!prev))

我遇到的信號6 99%都是由於數據越界導致,在memcpy的時候沒有錯誤,在free的時候系統報SIGABRT。今天也不例外。代碼是我寫的,考慮不周,以後拷貝更多加小心。 上圖中的data大小爲1024,如果memcpy 1025各字

原创 使用nc在linux設備間傳送文件

嵌入式linux設備不一定都支持tftp,我遇到的還好支持nc工具,可以實現文件傳遞的功能。nc netcat 步驟 1、接收方運行:busybox nc -l 接收方IP:接收方端口 < 文件名 2、發送方運行:busybox nc 接

原创 libpcap/tcpdump—1—編譯安裝

tcpdump的編譯依賴libpcap編譯出來的libpcap.a 所以在編譯tcpdump之前需要先編譯libpcap,我使用的是libpcap-1.9.0和tcpdump-4.9.2。 1、將兩個文件夾放在同一個文件夾下,也就是目錄下

原创 openssl交叉編譯方法

查看手頭openssl文件夾,發現有以前交叉編譯openssl時候的一個說明,已經不記得了,防止丟失寫此文章。總共就3步。 1、先執行: ./config no-asm 如果需要動態庫,執行: ./config no-asm shared

原创 動態庫鏈接靜態庫遇問題

問題 liba.so的編譯依賴libb.a,鏈接後正常編譯通過。運行加載liba.so的時候報找不到函數int c(int d ). 原因 原因現在講不清楚,只知道和鏈接,地址,程序執行過程有關。 解決 在編譯libb.a的時候加上 -f

原创 第一次寫shell腳本遇到的一些問題

最近的一個任務需要用shell腳本實現,這也是我第一次正式的寫shell腳本。由於之前沒怎麼寫過shell腳本,所以流程的每一步我都需要上網查,然後實驗,過程還是挺艱難的。網上能查到的比較多的相關知識我就不贅述了,寫一些我認爲不是特別多的

原创 ffmpeg/VLC連接rtmp視頻斷開的一個原因

問題 這幾天解決了一個問題。問題是這樣的,用ffmpeg向我做的rtmp server請求rtmp視頻,99%的情況視頻會在10秒鐘內斷開。ffmpeg會報一個mismatch的錯誤。打印是這樣的:RTMP packet size mis

原创 大規模回調函數(函數指針)的一種實現方法

/** * 這是今天看到的一種寫法,以前沒有注意,今天其他 * 需求又看了一下,有點感觸,精簡一下分享出來。 * * register和call裏面的while循環是此方法的精髓。 * 同一個id可以有很多個不同的註冊函數,

原创 感到壓力

本週閱讀量突破了6000,從5000到6000的這1000完全是靠之前文章的閱讀量疊加上去的。這周,甚至過去一多半的5月只寫了一篇文章。這段時間多少有些懈怠,各人狀態也並不是很好。肯定是要早日調整過來繼續向前的,年初定下的學習內核和網絡的

原创 5——嵌入式WebServer的移植——appweb對json的支持——最後一篇

剛剛收穫了一個贊,所以才寫這最後一篇。appweb對json這種應用最廣的網絡協議自然有支持,無論是解析還是拼裝,我就大概寫一下。 解析 /** Get a request param @description Get

原创 關於sizeof()使用的另外一種寫法—— sizeof * 變量

今天在閱讀代碼的時候再次遇到了sizeof()的另外一種使用方法,然後自己進行了嘗試,現在也僅僅是知道含義,深層次的含義此刻並不得而知,如果讀者您知道,希望您能評論一下,謝謝。 在readelf源碼中有get_64bit_section_