原创 構造函數的成員初始化列表

爲什麼要初始化成員 對於類成員是基礎數據類型,例如int、char這些,構造對象時,成員不會被初始化,值是隨機的。下面代碼可以驗證下: class A { public: A(){} void showMember() c

原创 C++構造函數中使用new時的注意事項

初級 1. 內存管理:需要在構造函數中分配內存給 ptr,並在析構函數中釋放內存,以避免內存泄漏。 MyClass::MyClass() { ptr = new int; } MyClass::~MyClass() {

原创 lua的協程

  lua協程的創建通常是通過coroutine.create(f),其中f就是協程的主體程序,它必須是一個函數。coroutine.create返回一個類型爲thread(lua的8種內建類型之一)的變量。 --- --- Creates

原创 clion + EmmyLua插件實現Lua的本地調試

安裝好EmmyLua插件後,它會提供兩種調試方式:1.使用mobdebug調試 2.使用EmmyDebugger調試。mobdebug是用lua寫的一個調試模塊,基於網絡通信(所以依賴luasocket),以字符形式傳遞調試命令和返回結果。

原创 openwrt上使用emmylua + emmyluadebugger + clion調試luci

lua-emmyluadebugger A OpenWrt package of EmmyLuaDebugger IntelliJ-EmmyLua EmmyLuaDebugger IntelliJ-EmmyLua是一個給JetBrain

原创 svn倉庫遷移至git

https://www.cnblogs.com/mq0036/p/14699655.html

原创 C++默認參數實現原理分析

簡介定義 C++默認參數指的是當函數調用中省略了實參時自動使用的一個值。寫法如下: void foo(int a = 1) { } void foo(int a, int b=1, int c=1) { } 默認參數有兩個規則, 規則

原创 openwrt l2tp支持設置本地靜態ip地址

設備使用4G網絡,設備間需要通訊,又是短連接,必須要是靜態ip,所以選擇使用l2tp。然後LNS端通過/etc/ppp/chap-secrets爲每個帳號綁定一個ip,每個設備使用一個帳號,LNS這端設備默認的隧道保活時間爲60s。這時設備

原创 ffprobe獲取視頻信息,編碼轉換,設置關鍵幀間隔等操作

查看關鍵幀間隔 ffprobe -select_streams v -show_entries packet=pts_time,duration_time,flags -of csv=p=0 test.mp4 輸出格式由packet=pt

原创 第三方IDE使用gdb調試Qt實現pretty print

  直接使用gdb調試Qt應用時,Qt的一些數據類型沒法友好的顯示出來,而qtcreator可以很好的展示出來,qtcreator也是通過gdb來調試的,在展示數據時,其實是gdb通過python腳本來處理後顯示的,這些python腳本位於

原创 使用clion閱讀任意交叉編譯軟件的代碼

clion是linux下比較強大的C/C++ IDE,通過擴展也可以支持很多其他語言,例如shell,lua, perl, python,rust。唯一缺點是收費,但是相對它給我帶來的便利,這點費用不算什麼。我一般用來開發C/C++/項目,

原创 GLib學習文章

https://blog.csdn.net/field1003/article/details/123420966

原创 父/子進程文件描述符繼承機制導致socket bind失敗的問題

此問題來自項目上,應用程序本身由它的父進程啓動,父進程監聽SIGCHLD信號,即子進程退出時,父進程會收到這個信號,然後立即通過execlp重新啓動子進程,確保子進程異常崩潰會被重新拉起來。而子進程(我們實際的業務應用)也會在某些地方for

原创 gdb + gdbserver調試時,無法使用Ctrl+C暫停調試的問題

使用gdbserver進行遠程調試,跟蹤調試板子上的程序時,發現target remote後,想下幾個斷點,發現ctrl+c無法暫停程序,因此斷點也下不了了。只能在連接前,提前下好斷點,這明顯是噁心的,因爲分析問題過程中有隨機下斷點的需求。