原创 Go實現單例模式

非線程安全的單例模式 type Singleton struct { } var instance *Singleton func GetInstance() *Singleton { if instance == nil {

原创 C++17標準庫std::any

定義在any頭文件中:#include <any> 是一個可用於任何類型單個值的類型安全的容器. 使用方法 #include <any> #include <iostream> int main() { // 存儲任意類型的單個值

原创 3.文件IO

文件表 進程控制塊(PCB): 用來描述進程信息和相關資源,使用一個struct來描述 在這個struct中存在一個數組成員struct file* filp[NR_OPEN) struct file結構如下: struct file

原创 01.g++編譯器常用選項

簡介 GCC(GNU Compiler Collection): GNU編譯器套件集合 gcc: GCC中的C編譯器 g++: GCC中的C++編譯器 命令選項 -E g++ -E hello.cpp -o hello.i: 預處理(

原创 CMake中常用的預定義變量

CMake中常用的預定義變量 PROJECT_NAME: 通過PROJECT指定的項目名稱 project(Demo) PROJECT_SOURCE_DIR: 工程的根目錄,上圖中的Demo目錄 PROJECT_BINARY_DI

原创 Git分佈式版本控制系統

安裝Git Ubuntu或Debian系統安裝Git $ sudo apt install git 創建版本庫 mkdir learngit cd learngit git init 添加文件到倉庫中 先創建一個readme.t

原创 Linux命令之grep

grep是Linux中最常用的"文本處理工具"之一,grep與sed、awk爲Linux三劍客 grep全稱爲: global search regular expression and print out the line gre

原创 CMake常用命令

CMake常用命令 project(projectname): 指定工程名稱 set(var [value]): 定義變量 message [SEND_ERROR | STATUS | FATAL_ERROR] “message t

原创 正則表達式

正則表達式 regular expression 一種字符串匹配的模式(pattern) 常見的特殊字符 特殊字符 描述 ^ 匹配起始位置 $ 匹配結束位置 () 子表達式 . 匹配除了換行符\n之外的任

原创 5.Linux文件系統相關函數stat

stat函數原型: int stat(const char* pathname, struct stat* buf); pathname: 目標文件的路徑 buf: struct stat結構體指針,用來保存返回的文件信息 返回值:

原创 MIME

MIME意爲多功能internet郵件擴展,最初的設計目的是爲了在發送電子郵件時附加多媒體數據,讓郵件客戶程序能根據其類型進行處理。 最早的HTTP協議沒有附加數據類型信息,所有傳送的數據都被客戶程序解釋爲超文本標記語言HTML,爲

原创 4.Linux文件系統介紹

生磁盤:未分區也未格式化的磁盤,就像一張空白的A4紙 文件系統:就像在一張A4紙上畫格子,windows使用的是NTFS方法,Linux一般是ext2/ext3 ext2文件系統 ext2文件系統是早期的Linux上使用的文件系統