原创 C/C++程序編譯鏈接過程詳解

目錄1、簡介2、使用g++來完成每一個步驟 1、簡介 C/C++程序從編譯到運行總共有四個步驟: 1、預處理:條件編譯,頭文件包含,宏替換的處理,生成.i文件。 2、編譯:將預處理後的文件轉換成彙編語言,生成.s文件

原创 解決虛擬機VMware黑屏、無法關機

第一種方法: 1、作用 重置winsock網絡規範 2、步驟 1、左下角輸入cmd,使用管理員身份打開cmd 2、輸入命令 netsh winsock reset 3、重啓電腦即可 如下圖所示: 第二種方法 1、作用 關閉虛擬

原创 UDP報文頭詳解

UDP首部有8個字節,由4個字段構成,每個字段都是兩個字節, 1.源端口: 主機的應用程序使用的端口號。 2.目的端口:目的主機的應用程序使用的端口號。 3.長度:是指UDP頭部和UDP數據的字節長度。因爲UDP頭 部

原创 劍指offer-斐波那契數列(C++)

1、最簡單,容易理解的方法 斐波那契數列的標準公式爲: F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) class Solution { public: int Fibonacc

原创 C++中STL容器總結

STL容器1、容器分類2、順序型容器2.1 vector容器2.2 list容器2.3 deque容器3、有序關聯容器3.1 set(集合)和 multiset(多重集合)3.2 map(映射)和multimap(多重映射)4、無

原创 c++中sort函數的compare

1.sort函數包含在頭文件爲#include <algorithm> 的c++標準庫中。 2.sort函數的模板有三個參數: void sort (RandomAccessIterator first, RandomAccess

原创 劍指offer-鏈表中倒數第k個結點(C++)

1、題目描述 輸入一個鏈表,輸出該鏈表中倒數第k個結點。 2、解題思路 使用兩個指針,該兩個指針間距k個節點,當後面的指針到達鏈表尾部時,另一個指針則指向倒數第k個節點。 代碼如下: /* struct ListNode {

原创 計算機網絡——IP協議

1、IP協議簡介 IP是Internet Protocol(網際互連協議)的縮寫,是TCP/IP體系中的網絡層協議。 1.版本號:佔四位,就是IP協議的版本,通信雙方的IP協議必須要達到一致,IPv4的版本就是4. 2.首

原创 劍指offer-從上到下打印二叉樹(C++)

1、題目描述 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 2、解題思路 該問題本質爲二叉樹的層序遍歷,使用隊列實現 代碼如下: /* struct TreeNode { int val; struct Tr

原创 NAT協議、全球IP和私有IP

轉載自:帥地學編程 可能你們會經常聽到全球 IP(外網)和私有 IP(內網),他們的區別是什麼呢?今天這篇文章來簡單講講這到底是怎麼回事。 我們都知道,IPv4中的IP地址的數量是有限的,每次把一部分地址分配出去,那麼就意味着能夠

原创 ubuntu上傳文件到GitHub

第一步:本地安裝Git 如果本地沒有安裝Git的話,使用以下命令安裝: sudo apt-get install git 第二步:生成密鑰 ssh-keygen -t rsa -C "你的github郵箱" 例如在我的hom

原创 C++中public、protected、private的區別

1、訪問權限的區別 public:可以被任意實體訪問 可以被該類中的函數、子類的函數、其友元函數訪問,也可以由該類的對象訪問 protected:只允許子類及本類的成員函數訪問 可以被該類中的函數、子類的函數、以及其友元函數訪

原创 短路原理

* 幾乎所有語言中||和&&都遵循“短路”原理 * 如&&中第一個表達式爲假就不會去處理第二個表達式,而||正好相反。 * c++也遵循上述原則。 * 當||時,找到爲true的分項就停止處理,並返回該分項的值,否

原创 TCP報文頭詳解

TCP報文是TCP層傳輸的數據單元,也叫報文段。 1、端口號 用來標識同一臺計算機的不同的應用進程。 16位源端口(Source Port):16位的源端口字段包含初始化通信的端口號。源端口和IP地址的作用是標識報文的返回地址

原创 操作系統——進程和線程相關面試常見題

目錄1、進程和線程有什麼區別?2、進程間通信有哪些方式?3、進程同步問題4、線程有幾種狀態,進程呢?5、進程調度策略有哪些?6、什麼是殭屍進程?7、線程同步有哪些方式?8、什麼是協程?9、什麼是IO多路複用?怎麼實現?10、什麼是