原创 Select函數實現達到定時器的效果

/*秒級定時器*/ void seconds_sleep(unsigned     long  seconds) {     if(seconds == 0) return;     struct timeval tv;     tv.t

原创 alsa lame 庫實現 音頻pcm採集實時轉換MP3,linux運行環境

lame下載版本:lame-3.99.5.tar.gz linux下執行 ./configure --prefix=/你的lame目錄下/output make -j8 make install 源代碼github鏈接 https://

原创 VSCode 配置C++,mingw64

1、首先安裝VSCode ,官網下載,安裝即可 2、mingw64介紹,mingw是爲了像在linux上寫代碼,並在windows上運行,類UNIX的編譯環境,讓windows的編譯器把諸如fork的調用翻譯成等價的形式。經過編譯

原创 第一次寫C++程序,完成使用Alsa採集linux音頻

利用alsa 完成linux下音頻採集,第一次用C++寫程序,很菜,很水,記錄下當時的水平,以後肯定會有提高,算是一個紀念吧 1、運行時前先裝庫,sudo apt-get install alsa 2遍回車,裝庫,alsa_oca

原创 wpf ControlTemplate

WPF包含數據模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate,這裏討論一下ControlTe

原创 c++ PVOID封裝成C#

這是c++中的一個方法: DWORD __stdcall VCI_SetReference(DWORD DevType, DWORD DevIndex, DWORD CANIndex, DWORD RefType, PVOID pData

原创 C# 集合排序

 一個集合可否排序,要看系統知不知道排序的規則,像內建的系統類型,int ,string,short,decimal這些,系統知道怎麼排序,而如果一個集合裏面放置的是自定義類型,比如自己定義了一個Product類型,要把它排序,系統是

原创 線程的狀態轉移

 當一個ThreadState剛剛被創建的時候,它的Threadstate是unstarted。 調用Start()之後,它的Threadstate變成Running 如果想讓它阻塞,調用sleep()方法,threadstate變成

原创 C#原始類型擴展方法—this參數修飾符

擴展方法使您能夠向現有類型“添加”方法,而無需創建新的派生類型、重新編譯或以其他方式修改原始類型。擴展方法是一種特殊的靜態方法,但可以像擴展類型上的實例方法一樣進行調用。對於用 C# 和 Visual Basic 編寫的客戶端代碼,調用

原创 wpf SnapsToDevicePixels

 可以在您的根元素上將此屬性設爲 true,以在整個 UI 上啓用像素對齊呈現。 對於運行在大於 96 每英寸點數 (dpi) 的設備,像素對齊呈現可以最小化在單一實線附近出現的抗鋸齒視覺瑕疵。 當由 FrameworkElemen

原创 C# 多線程同步

 C# 多線程同步 考慮一種我們經常遇到的情況:有一些全局變量和共享的類變量,我們需要從不同的線程來更新它們,可以通過使用System.Threading.Interlocked類完成這樣的任務,它提供了原子的,非模塊化的整數更

原创 C# 關鍵字 public protect private internal

public 關鍵字是類型和類型成員的訪問修飾符。公共訪問是允許的最高訪問級別,對訪問公共成員沒有限制。 protected 關鍵字是一個成員訪問修

原创 C# 設計模式之Simple Factory Pattern

工廠模式專門負責將大量有共同接口的類實例化。工廠模式可以動態決定將哪一個類實例化,不必事先知道每次要實例化哪一個類。工廠模式有以下幾種形態: 簡單工廠(Simple Factory)模式 工廠方法(Factory Method)模式 抽象

原创 .pdb文件的作用

 .PDB文件,全稱爲“程序數據庫”文件。我們使用它(更確切的說是看到它被應用)大多數場景是調試應用程序。目前我們對.PDB文件的普遍認知是它存儲了被編譯文件的調試信息,作爲符號文件存在。

原创 WPF學習筆記(1) 合併資源字典

 通常我們做一個大型項目的時候都要把風格定義在一個單獨的文件中,使得代碼顯得乾淨利落,下面這幾行代碼便是引用單獨的風格文件的代碼。在各個工程中公用的方法: 1.存在了一個Dll文件,文件中存在一些資源,想通過引用的方式,引用DLL