原创 文本編輯工具之sed

sed是一個流文本編輯工具,全稱是 stream editor,以下僅列舉我常用的幾個功能。 批量替換 比如某個函數名改了,那麼其他文件中調用的函數全部都要修改,如果用手動修改,那是費時費力,此時需要藉助sed. ## 配合fin

原创 系統調用追蹤之strace

strace 是一個常用的linux命令,應該是 trace system calls的簡寫形式,用來追蹤一個程序的系統調用。 1、啓動並跟蹤程序 strace ./test.exe ## 結果打印在

原创 pragma pack和內存對齊

概述 內存對齊和CPU有關係,可以認爲內存對齊的大小就是CPU一次讀取內存的大小,例如32CPU一次讀取4字節,那麼內存的對齊方式就4字節,64位就是8字節。本質上是保證CPU使用盡量少的次數將某一個變量取出來。關於結構體內存對齊的方

原创 mysql使用筆記

常用界面工具 有時候爲了方面,可以使用界面工具查看修改mysql,推薦兩個工具: Navicat 需要破解 HeidiSQL 開源免費 shell操作 遠程登錄 mysql -u username -p123

原创 一個簡單的socket編程demo

記錄這個demo,相當於是保留一份代碼片段,以後可以隨時拿來用,驗證新的想法。人的大腦是很靠譜的,經常記錯東西,需要保留一個索引,放在這裏。 服務端 #include <sys/socket.h> #include <netinet/

原创 實現golang中memset函數

C語言中的memset 在C/C++中,有一個memset函數,常常用來清空一段內存。 #include <string.h> // 將s的前n個字節用c填充 void *memset(void *s, int c, size_t n

原创 定時任務管理工具crontab

文章目錄croncrontab定時執行命令定時執行腳本注意定時的語法格式1:每1分鐘執行一次myCommand2:每小時的第3和第15分鐘執行3:在上午8點到11點的第3和第15分鐘執行4:每隔兩天的上午8點到11點的第3和第15分鐘

原创 shell腳本使用總結

文章目錄指定解釋器定義或者賦值變量使用變量特殊變量0、 單引號和雙引號1、拼接2、獲取字符串長度3、截取切片4、查找子串5、字符串替換邏輯判斷字符串比較數字比較文件判斷包含文件數組定義修改使用獲取長度函數循環forwhileuntil

原创 使用dlv調試golang程序

文章目錄1、編譯選項2、使用dlv調試dlv的功能介紹1、dlv attach2、dlv debug3、dlv exec4、dlv core調試coredump文件5、dlv test3、調試命令helphelp [command]

原创 gdb調試golang程序

文章目錄1、配置gdb2、編譯golang3、打斷點1、包名+函數名2、文件名+行號4、總結 gdb是linux系統自帶的調試器,功能十分強大,對於C/C++程序員不會陌生,那麼使用gdb如何調試golang程序呢? 1、配置gdb

原创 內存查看工具之free

基本使用 free是一個內存查看工具,使用起來非常簡單: free -m ## 單位是M 也可以是-g -k [KentZhang@ALVPCFLKF-192-168-29-61 707]$ free -m

原创 系統監控之top

文章目錄簡介打印輸出含義說明統計區第一行:TasksCpuMemSwap字段頭任務區其他操作技巧只監控某個進程顯示單個Cpu的統計信息改變排序方式顯示完整的命令 簡介 top可以用來實時顯示linux系統的運行情況。 打印輸出 top

原创 strace使用簡單總結

strace 是一個常用的linux命令,應該是 trace system calls的簡寫形式,用來追蹤一個程序的系統調用。 1、啓動並跟蹤程序 strace ./test.exe ## 結果打印在屏幕

原创 linux下常用時間函數

在linux下編程,有一些常用的時間函數,下面做一個總結梳理。 1、time SYNOPSIS #include <time.h> time_t time(time_t *t); DESCRIPTION

原创 sed使用總結

sed是一個流文本編輯工具,全稱是 stream editor,以下僅列舉我常用的幾個功能。 批量替換 比如某個函數名改了,那麼其他文件中調用的函數全部都要修改,如果用手動修改,那是費時費力,此時需要藉助sed. ## 配合find