原创 GDB調試記錄

# gdb attach 15343 # 調試某個進程 GNU gdb (GDB) 7.12

原创 Chapter01-計算機系統漫遊-下

1.操作系統管理硬件 (1).真正操縱硬件的是操作系統,操作系統可以看成是應用程序和硬件之間的中間層。所有的應用程序對硬件的操作必須通過操作系統來完成,這樣做的目的是:首先,防止硬件被失控的應用程序所濫用;其次,操作系統提供統一的機制來控

原创 C++基礎複習3

#include <iostream> #include <string> using namespace std; /* OOP的三大特性:封裝 繼承 多態 封裝: 將靜態屬性和動態行爲封裝成一個整體 屬性和行

原创 Chapter02-整數的運算

1.無符號數的加法運算 下面兩個無符號數相加我們希望得到的結果是256,但是實際的運行結果卻是0。原因是:a+b的和已經超過了unsigned char類型所能表示的最大值255,我們稱這個情況爲溢出。 unsigned char a =

原创 vector中常用的API函數

#include <iostream> #include <vector> using namespace std; int main() { vector<int> v = {7, 5, 6, 3, 2, 9, 0};

原创 Chapter02-整數的表示

1.整型數據類型 C語言支持多種整型數據類型,例如char、short、int等,64位機器上,不同的數據類型所表示的數值的範圍。關於long類型的大小需要注意,取值範圍與機器字長有關。在64位機器上,long類型佔8個字節;在32位機器

原创 Chapter02-信息的存儲

1.信息的存儲 通常情況下,程序將內存視爲一個非常大的數組。數組的元素是由一個個的字節組成,每個字節都由一個唯一的數字來表示,稱之爲地址。這些所有地址的集合稱爲虛擬地址空間。 2.字節 1個字節是由8個位組成,在二進制中,每一位的值

原创 C++基礎複習2

#include <iostream> #include <string> using namespace std; /* 內存分配模型 */ // 代碼區:存放函數體的二進制代碼,由OS進行管理; // 全局區:存在全局變量及靜

原创 Chapter01-計算機系統漫遊-上

一、整本書的結構 1.Chapter01:計算機系統漫遊 2.Chapter02~Chapter12 Part I:程序結構和執行(Chapter02~Chapter06) Part II:在系統上運行程序(Chapter07~Chap

原创 shell中的函數及腳本調試方法

1.函數格式 目的:將一些相對對立的代碼變成函數,提供可讀性和重用性,避免重複編寫相同代碼。 函數格式: 函數關鍵字:function可以省略,可不帶任何參數; 符號{表示函數體的開始(可在函數名後單獨一行),符號}表示函數體結束; 函

原创 可執行程序工作原理

1 ELF目標文件格式 目標文件:編譯器編譯後生成的文件,目標指的是目標平臺(例如:x86/x64平臺、arm64平臺等),這決定了編譯器使用的機器指令集。 目標文件與目標平臺是二進制兼容的(即目標文件已經是適應某一種CPU架構體系上的二

原创 【LeetCode-704 | 二分查找】

#include <iostream> #include <vector> #include <queue> #include <stack> #include <unordered_map> #include <utility> #in

原创 【LeetCode-108 | 將有序數組轉換爲二叉搜索樹】

#include <iostream> #include <vector> #include <queue> #include <stack> #include <unordered_map> #include <utility> #

原创 【LeetCode-538 | 把二叉搜索樹轉換爲累加樹】

#include <iostream> #include <vector> #include <queue> #include <stack> #include <unordered_map> #include <utility> #

原创 【LeetCode-501 | 二叉搜索樹中的衆數】

#include <iostream> #include <vector> #include <queue> #include <stack> #include <unordered_map> #include <utility> #in