原创 CLR/CIL/CTS/CLI/BCL/FCL

CLR: 公共語言運行庫(Common Language Runtime)  CI L: 通用中間語言(Common Intermediate Language,簡稱CIL)  CTS: 通用類型系統(Common Type System

原创 單/半雙/全雙工和多路複用技術概要

單工、半雙工和全雙工是電信計算機網絡中的三種通信信道,這些通信信道可以提供信息傳達的途徑。   通信信道(Channels of communicationl) 通信信道是數據傳輸的通路,在計算機網絡中信道分爲:物理信道和邏輯信道。物理信

原创 C語言用regcomp、regexec、regfree和regerror函數實現正則表達式校驗

一、正則表達式      1、介紹     應該都聽過正則吧?主要應用在字符串匹配,而且它是通用的,各種語言都支持。例如可以用它匹配IP地址、郵箱等。舉個例子說明一下正則有啥用:     例如,我在的公司,頁面用PHP,後臺用C,當添加用

原创 sendto和recvfrom

 UDP(user datagram protocol)用戶數據報協議,屬於傳輸層。   UDP是面向非連接的協議,它不與對方建立連接,而是直接把數據報發給對方。UDP無需建立類如三次握手的連接,使得通信效率很高。因此UDP適用於一次傳輸

原创 c/c++的printf和宏定義

宏定義替換printf自定義輸出到終端和日誌文件 #define PRT(...) printf(##__VA_ARGS__);sprintf(buf,##__VA_ARGS__);log(buf); 一、#用來把參數轉換成字符串 例子一

原创 c/c++程序的庫問題

VS編譯的問題,運行時庫靜態編譯和動態鏈接(考慮到運行平臺可能報缺少vcruntime100.dll/140.dll等問題) 運行編譯工具集 V14對應140.dll-vs2017和vs2015 v12對應120.dll-vs2013 v

原创 C語言實現Base64編碼轉碼

C語言實現Base64編碼轉碼 關於Base64的介紹有兩篇文章已經做得非常好了:一篇是維基百科Base64的詞條,如果被Q可以看本文👇摘錄維基百科Base64;另一篇是阮一峯的Base64筆記.  說一說C語言的實現吧,其實維基百科給出

原创 主流隧道穿透協議

VPN主流分類 基於PPP(點對點通信協議):LCP+NCP(IPCP/IPXCP)+PAP/CHAP PPTP(1723):PPTP認證交互,GRE壓縮封裝PPP幀 L2TP(1721):L2TP認證交互,L2TPoverUDP封裝PP

原创 CNVD 與 CNNVD 的區別

CNNVD CNNVD是中國國家信息安全漏洞庫,英文名稱“China National Vulnerability Database of Information Security”,簡稱“CNNVD”,隸屬於中國信息安全測評中心(一般簡

原创 sed 刪除文本中的內容

sed 刪除文本中的內容 刪除命令對照表   練習例子 刪除/etc/passwd中的第15行 1 sed -i '1d' passwd    刪除/etc/passwd中的8行到14行的所有內容 1 sed -i '8,

原创 ps查看進程狀態參數含義

linux上進程有5種狀態: 1. 運行(正在運行或在運行隊列中等待) 2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號) 3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生) 4. 僵死(進程已終止,

原创 TUN/TAP設備淺析

TUN設備 TUN 設備是一種虛擬網絡設備,通過此設備,程序可以方便地模擬網絡行爲。TUN 模擬的是一個三層設備,也就是說,通過它可以處理來自網絡層的數據,更通俗一點的說,通過它,我們可以處理 IP 數據包。 先來看看物理設備是如何工作的

原创 windows和Linux內存的對齊方式

一.內存對齊的初步解說 內存對齊能夠用一句話來概括: “數據項僅僅能存儲在地址是數據項大小的整數倍的內存位置上” 比如int類型佔用4個字節,地址僅僅能在0,4,8等位置上。     例1: #include <stdio.h> stru

原创 gcc多版本安裝

1、安裝SCL源 yum install centos-release-scl-rh 2、安裝GCC/GCC-C++ yum install devtoolset-7-gcc devtoolset-7-gcc-c++ yum instal

原创 flock、lockf和fnctl區別

首先flock和fcntl是系統調用,而lockf是庫函數。lockf實際上是fcntl的封裝,所以lockf和fcntl的底層實現是一樣的,對文件加鎖的效果也是一樣的。後面分析不同點時大多數情況是將fcntl和lockf放在一起的。下面