原创 C C++內存管理&delete/free/new/malloc

前言 總結一下C/C++中的內存管理,我們需要了解不同類型的變量分別儲存在哪裏,他們又是如何儲存的,存儲他們的區域又有多大,這系列問題,下面將會解答。 C/C++中程序內存區域劃分 學習過linux的虛擬內存機制我們知道,對於每個

原创 ffmpeg入門(一)

文章目錄前言ffmpeg能做什麼ffmpeg解碼流程從後往前瞭解計算機是怎麼顯示圖片RGB24YUV圖像編碼的意義視頻編碼的意義音視頻封裝的意義小結 前言 我也是通過雷神才入門的,首先感謝雷神的無私奉獻,希望未來能向雷神這樣的好哥哥

原创 頁面置換算法之LRU緩存機制

LRU緩存機制 LRU是頁面置換算法的其中一個,是一種最近最少使用的緩存機制,它支持以下操作 獲取數據 get(key) - 如果密鑰 (key) 存在於緩存中,則獲取密鑰的值(總是正數),否則返回 -1。 寫入數據 put(key

原创 epoll/poll/epoll & 高級IO詳解

五種IO模型 阻塞IO 阻塞IO:在內核將數據準備好之前,系統調用會一直等待,所有的套接字,默認都是阻塞方式 非阻塞IO 非阻塞IO:如果內核的還未將數據準備好,系統調用仍然會直接返回,並且返回EWOULDBLOCK錯誤碼 非阻

原创 SOCKS5實現代理服務器(C++)

文章目錄代理服務器的簡介我們需要藉助的SOCKS協議SOCKS簡單介紹SOCKS運作過程第一步:身份驗證(authentication)第二步:SOCKS請求 (客戶端-->代理服務器)SOCKS的請求格式第三步:響應 (代理服務器-

原创 數據鏈路層詳解

文章目錄數據鏈路層的目的認識以太網以太網幀格式理解MAC地址和IP地址認識MTUMTU對IP協議的影響MTU對UDP協議的影響MTU對於TCP協議的影響ARP協議ARP協議的作用ARP通信的過程查看ARP緩存表 (這樣就不用再次請求I

原创 Linux網絡知識入門篇

文章目錄網絡基礎入門局域網和廣域網區別局域網通信的原理(兩種方式)OSI七層模型簡介優點TCP/IP五層模型物理層 (集線器)數據鏈路層 (交換機---解決數據碰撞問題)網絡層 (路由器 --- 實現網到網之間的轉發)傳輸層 (TCP

原创 模板使用&&模板爲什麼不能分離編譯

文章目錄模板模板的基本用法模板函數用法用例隱式實例化顯式實例化模板參數的匹配原則模板定義的格式類模板類外的函數定義需要加上模板參數列表模板的實例化非類型模板參數示例代碼注意模板的特化模板特化的步驟注意利用非類型模板參數的特性解題解題思

原创 C++中的繼承&&多態博客

前言 是因爲有了繼承纔有了多態的存在,我們明白繼承的原理和特性才能去理解多態 文章目錄前言繼承什麼叫做繼承繼承的定義繼承方式導致訪問方式的變化切片-基類和派生類對象賦值轉換繼承中的作用域(同名問題)父子都是獨立作用域同名會被隱藏,

原创 守護進程

文章目錄守護進程守護進程概念創建守護進程知識儲備最關鍵的一步調用setsid函數調用該函數的作用成功調用該函數的結果創建守護進程的步驟(1)umask(0)(2)調用fork(3)調用setsid()(4)設置忽略SIGCHLD信號(

原创 32位機器和64位機器的區別

前言 64位系統和32位系統首先涉及到提取數據的能力,64位系統肯定比32位系統提取數據的能力強一倍 但是這只是建立在64位操作系統的64位軟件上。 進程的64位和32位和編譯器有關係,而不是和操作系統有絕對關係 64位系統和32位的

原创 類和對象1

前言 在c語言中沒有類,但是有結構體結構體中只能定義變量,不能定義函數但是在c++中,結構體多了可以定義函數的能力,並且c++中多了一個限定符的概念即結構體的成員是有訪問權限的:public,protected,private,再沒有

原创 互斥與同步&生產者消費者問題

進程互斥與同步的基本概念 進程互斥與同步機制的主要任務是,對多個相關進程在執行次序上進行協調,使併發執行的諸進程間能按照一定的規則(或時序)共享系統資源,並能很好的相互合作,從而使程序能夠正確執行。 在多個進程共享資源或爲完成某一任務

原创 簡述inode

文章目錄inode的好處文件系統是以塊爲單位的,對於每個塊而言,它可以分成5個部分超級塊:inode表:數據區:inode位圖表:數據位圖表:創建一個文件時,在文件系統中發生的故事尋找一個文件時,在文件系統中發生的故事 inode的好

原创 時間類的實現

文章目錄要求Date.h其中幾個巧妙實現的函數(1)比較日期(2)計算日期的加法(3)計算日期的減法(4)計算日期之差完整代碼Date.c 要求Date.h Date.h #pragma once #include<iostream>