原创 c印記(十一): 單向鏈表 list原理與實現

注: 文中的定義,是指這樣規定或者說就長這樣,並非c語言當中的 定義和聲明 本文所說,比較偏向於實用性,不是大而全的鏈表各種操作的實現 一、簡而言之 在百度百科裏面摘取了一段關於鏈表的介紹: 鏈表是一種物理存儲單

原创 查看gcc默認宏

有時候,會想知道當前的toolchain中,gcc的一些默認宏是怎麼樣的,特別是一些基於gcc的嵌入式編譯工具鏈,更是如此, 因此做一個記錄,以便後續使用。 gcc -posix -E -dM - </dev/null 同理,如

原创 gdb調試coredump 文件

工作中時長會需要用到gdb工具,因此在這裏陸續記錄相關的使用點以作備忘。 一、查看crash所在的線程 這裏可以使用 thread apply all bt 查看所用線程堆棧信息。

原创 使用rename命令批量修改後綴名

我使用的操作系統是Ubuntu,也可以在Windows10下的Ubuntu子系統使用該命令,可能默認沒有,可以使用 sudo apt-get install rename 的方式去安裝這個包。 比如經常要把 libxxx.so

原创 Windows10 Ubuntu子系統運行 linux原生程序

工作當中會用當Ubuntu系統,但是主要的工作又是在Windows平臺, 這樣就需要用到虛擬機,而因爲公司裝了加密軟件,系統本來就比較卡頓,再開虛擬機就巨卡無比了。 於是就開始嘗試使用Windows10的linux子系統, 然後就

原创 linux c/c++ 創建多級目錄

有時候應用程序中,需要創建目錄,但如果是多級目錄,直接使用mkdir函數是沒法實現的,需要循環調用mkdir函數, 這裏就做一個記錄,以便以後需要的時候,可以直接使用。 #include <unistd.h> #include <sy

原创 《c印記》

這是我的第一本書籍,算是書籍吧,因爲沒有出版,只是整理收集了我自己關於c語言的理解,以及平常工作中使用到的c語言開發小技巧等等。 本着分享精神,在這裏提供下載。這本書的內容包括了: 一些數據結構,算法等的介紹, 關於跨平臺的一些技巧

原创 gitbook生成pdf時缺少ebook.css解決方案

在使用gitbook將自己寫的電子書生成pdf文檔時,遇到了缺少ebook.css的錯誤,網上找了很久,很多辦法都是無效的,花了不少時間才發現找到一個解決方案,這裏就做一個記錄,以後再遇到就不需要到處尋找了。 其錯誤如下所示: Er

原创 神經網絡實現手寫數字識別(MNIST)

一、緣起 原本想沿着 傳統遞歸算法實現迷宮遊戲 ——> 遺傳算法實現迷宮遊戲 ——> 神經網絡實現迷宮遊戲的思路,在本篇當中也寫如何使用神經網絡實現迷宮的,但是研究了一下, 感覺有些麻煩不太好弄,所以就選擇了比較常見的方式,實現手寫數字識

原创 My Machine Learn(三):c++實現矩陣運算

一、背景 機器學習中的神經網絡,有人說是模仿人類大腦的神經元,但說白了,其實就是算數運算,單個人工神經元或者神經元層,其權重與輸出,均可以使用矩陣來表示。當然不管是c++還是Python均有矩陣運算的庫(這其中Python的會更多一些),

原创 引用模板類中定義的類型(用typedef或using)以及auto、decltype、typename的使用

一、背景 使用typedef或者using定義類型別名是非常常見的手段,在c++裏面,有時爲了封裝性,模塊性等原因還會在某一個namespace或者class內部定義類型別名。 最近在寫c++代碼的時候,有實現一個模板類,說實話,雖然用c

原创 avformat的簡單應用

注意:本文是基因FFMPEG的3.3.1 版本,如有出入請先覈對版本是否相同 一、簡介 avformat是包含複用(mux),解複用(demux)的多媒體容器庫,它是ffmpeg框架中比較重要的兩個library之一,另一個是avco

原创 git submodule使用以及注意事項

一、背景 在平時的軟件開發過程中常常會有這樣的場景,自己負責的某個模塊會依賴其他模塊或者第三方的library。這時你自己的模塊是一個獨立的代碼倉庫,你想要實現這樣一種功能,當你從你的模塊的代碼倉庫裏把代碼拉到本地來的時候,能自動的將你依

原创 My Machine Learn(一): 線性迴歸

一、前言 從上一次發的關於機器學習的文章到現在已經快一年了。 期間懈怠了很長一段時間,最近重新開啓學習機器學習之路,準備一邊學習,一邊記錄下這個過程, 所以就有了寫 《My Machine Learn》系列文章的想法。當然所思縮寫均是我自

原创 再談神經網絡反向傳播原理

一、 緣起 之前根據目前所學(看《遊戲編程中的人工智能》以及網上的各種博客文章等等資料),寫了一篇關於神經網絡實現手寫數字識別的文章,但隨着繼續學習(尤其是後來報了CSDN的《機器學習:機器學習40天精英計劃》課程),發覺之前的文章對反向