原创 rust引用計數智能指針Rc<T>

大部分情況下所有權是非常明確的:可以準確地知道哪個變量擁有某個值。然而,有些情況單個值可能會有多個所有者。例如,在圖數據結構中,多個邊可能指向相同的節點,而這個節點從概念上講爲所有指向它的邊所擁有。節點在沒有任何邊指向它從而沒有任何所有者之

原创 rust和內部可變性模式RefCell<T>

內部可變性(Interior mutability)是 Rust 中的一個設計模式,它允許你即使在有不可變引用時也可以改變數據,這通常是借用規則所不允許的。爲了改變數據,該模式在數據結構中使用 unsafe 代碼來模糊 Rust 通常的可變

原创 引用循環與內存泄漏

Rust 的內存安全性保證使其難以意外地製造永遠也不會被清理的內存(被稱爲 內存泄漏(memory leak)),但並不是不可能。Rust 並不保證完全防止內存泄漏,這意味着內存泄漏在 Rust 中被認爲是內存安全的。這一點可以通過 Rc<

原创 gtk簡單實例

    /* ============================================================================ Name : gtk2023T.c Author

原创 LSTM長短期記憶遞歸神經網絡

當前項目中用到自動學習,這部分在讀書期間學得比較泛,沒有深入。加之,時間一長,學得都還給老師了。今天重溫LSTM. 0. 什麼是LSTM LSTM,全稱 Long Short Term Memory (長短期記憶) 是一種特殊的遞歸神經網絡

原创 yaml-cpp生成yaml文件及解析yaml文件

1) 源碼編譯及安裝 獲取源碼 $ git clone https://github.com/jbeder/yaml-cpp.git $ cd yaml-cpp && mkdir build && cd build && cmake .. 

原创 suricata備忘錄

spm: single pattern match mpm: multi pattern matcher bm: boyer moore hs: hyperscan ppt: packet processing thread cidr: c

原创 linux環境安裝wireshark4.0

build

原创 rust之async

  async/.await可以讓出當前線程的控制權而不是阻塞,當前線程等待某個操作完成時允許其他代碼執行。 有兩種使用方式:async fn和async,每個返回執行future特性的值。 1 // `foo()` retu

原创 內存暴漲問題細探

1.  進程虛擬空間 進程虛擬空間如下圖:    如上圖示:最高的1G空間保留給內核使用。接下來是棧,棧向低地址方向延伸(棧的大小受RLIMIT_STACK限制,默認爲8M),下面是MMAP區(文件映射內存,如動態庫等,SPP微線程的私有

原创 C語言動態庫

C/C++編譯的過程: 預處理,展開頭文件,宏定義,條件編譯處理等。通過gcc -E source.c -o source.i 或是cppsource.c生成   編譯。這裏是一個下一的編譯意義,指的是將預處理後的文件翻譯成彙編代碼的過程。

原创 Perf性能分析工具

Perf全名是Performance Event,是在Linux 2.6.31 以後內建的系統效能分析工具,它隨着核心一併釋出。藉由perf,應用程式可以利用PMU (Performance Monitoring Unit), tracep

原创 ASN.1抽象語法標記1

ASN.1編碼ber ASN.1(抽象語法表示法一) ASN.1(抽象語法表示法一)是一種正式但靈活的表示法,允許您指定高級電信協議中使用的抽象對象。您可以使用整數和位字符串等簡單類型以及集合和序列等結構化類型來構建複雜類型的定義。 基本編

原创 ce

c

原创 C++ warning:’xxx‘ has no out-of-line virtual method definitions

現象:在類中定義了虛函數並且直接在類定義內部實現這些虛函數時,編譯器就會報警告:’xxx‘ has no out-of-line virtual method definitions;its vtable will be emitted i