原创 Unix中的段

Segment(段):表示一個二進制文件相關的內容塊 C語言各部分對應的段地址: 可執行文件中的段在內存中的佈局:

原创 C/C++中const的基本特性

1、 const在C中是隻讀變量,在C++中是常量,c++編譯器會爲const常量新增一個符號表,防止通過地址修改這個const常量,而C編譯器可以通過地址修改const修飾的值 2、 const修飾指針常量,放在*號的左邊是修飾指針所

原创 c語言獲取當前文件位置的宏

在C語言中,使用幾個標準預定義宏,便可輕鬆實現獲取代碼文件名、代碼行數及日期時間的功能。 這幾個宏的定義如下(注意:前後都是兩條連續的下劃線): FILE:在源文件中插入當前源文件名。 FUNCTION:在源文件中插入當前源

原创 shell逐行讀取每一列的結果集

##shell逐行讀取每一列的結果集 ## 在Linux下用shell腳本讀取MySQL結果集各數據項的值,按行讀取sql結果,將sql執行結

原创 C/C++中字符的基本操作

不同類型字符串之間轉換的方式 1、  char *轉string: <span style="font-size:14px;"><span style="font-family:Arial;font-size:12px;">char *

原创 I/O多路複用之select

select函數定義 #include <sys/select.h> #include <sys/time.h> int select(int maxfdp1,fd_set *readset,fd_set *writeset,fd_set

原创 IO多路複用之epoll

1、基本知識   epoll是在2.6內核中提出的,是之前的select和poll的增強版本。相對於select和poll來說,epoll更加靈活,沒有描述符限制。epoll使用一個文件描述符管理多個描述符,將用戶關係的文件描述符的事

原创 在插件中增加檢測防火牆是否開啓的功能

在掃描項目的插件中增加一項檢測防火牆的功能: 1、聲明一個存儲防火牆狀態的枚舉類型並且實例化一個對象作爲全局變量 //@author Denny // \brief 防火牆狀態 enum FIREWALL_STATUS { F

原创 C語言中的符號重載

在C語言中,有些符號在不同位置表示不同意義,下面列舉常用的符號重載 static: 在函數內部,表示該變量的值在各個調用間一直保持延續 int func(void){ static int i; } 在函數這一級,

原创 關於提示:invalid use of incomplete type

gcc或者g++中,在兩個類需要相互引用時: 如果某個類的.h文件中聲明另一個類的指針,可以使用class關鍵字先進行聲明,而不需包含頭文件; 但如果涉及到定義某個類的對象或是引用類的某個具體成員時,則必須包含該類的頭文件,並且不要加cl

原创 字符編碼

ASCII、Unicode、UTF-8 計算機只能處理數字,如果要處理文本,就必須先把文本轉換爲數字才能處理。最早的計算機在設計時採用8個比特(bit)作爲一個字節(byte),所以,一個字節能表示的最大的整數就是255(二進制11111

原创 DPDK l2fwd-crypto例子

DPDK二層轉發和加密結合在一起,因爲最近需要引用到DPDK的加解密函數,所以研究了這個例子 配置運行: 因爲DPDK默認只提供了NULL CRYPTO POLL MODE DRIVER,所以我們需要在編譯DPDK的時候打開其他 CRYP

原创 ubuntu終端常用快捷鍵

快捷鍵 功能 Tab 自動補全 Ctrl+a 光標移動到開始位置 Ctrl+e 光標移動到最末尾 Ctrl+k 刪除此處至末尾的所有內容 Ctrl+u 刪除此處至開始的所有內容 Ctrl+d 刪除當前字符 Ctrl

原创 warning: function declaration isn’t a prototype

編譯suricata的時候出現了下面這個warning: 解決方式: 即使函數括號內沒有任何參數,也要加一個void類型,來避免這種warning 所以在void MpmCudaEnvironmentSetup()中的參數添加一

原创 static用法總結

1、 static局部變量 函數第一次賦值之後,會一直保存這個值,並且只初始化一次 void func() { static int i = 0; i++; } 2、 static全局變量 未經初始化的全局靜態變量