原创 Linux下的網絡socket編程---------------多路複用(epoll)

epoll多路複用1.epoll的誕生1.1 select的缺點1.2 epoll出現2.函數參數解析3.代碼示例 1.epoll的誕生 1.1 select的缺點 單個進程能夠監視的文件描述符的數量存在最大限制,通常是1024

原创 Linux下的網絡socket編程-------------多路複用(select )

select多路複用1.I/O多路複用(IO Multiplexing)2.select()參數解析3.示例流程圖4.代碼示例 1.I/O多路複用(IO Multiplexing) IO多路複用模型是建立在內核提供的多路分離函數s

原创 基於Linux下的socket網絡編程-----------------多線程

多線程編程1.什麼叫線程2.線程池3.創建線程4.互斥鎖5.死鎖6.多線程改寫服務器 1.什麼叫線程 線程,有時被稱爲輕量級進程(Lightweight Process,LWP),是程序執行流的最小單元。一個標準的線程由線程ID,

原创 動態庫、靜態庫以及Makefile的使用

動態庫、靜態庫以及Makefile的使用1.動態庫和靜態庫1.1動態庫的概念1.2靜態庫的概念1.3動態庫的製作1.4靜態庫的製作1.5編譯鏈接2.Makefile的使用2.1Makefile的含義2.2Makefile的結構2.

原创 進程間通信(IPC)---------------信號(Signal)與信號量(Semaphore)

信號與信號量1.IPC的幾種方式2.信號(Signal)3.信號量3.1 信號量的概念3.2 使用步驟3.3函數原型3.4代碼示例 1.IPC的幾種方式 首先,先來講一下fork之後,發生了什麼事情。由fork創建的新進程被稱爲子

原创 進程間通信(IPC)-----------------管道(pipe)和命名管道(fifo)

管道與命名管道1.二者的異同2.管道(pipe)3.命名管道(fifo) 1.二者的異同 管道只能在兩個具有親緣關係的進程之間通信,通過命名管道(Named PiPe)FIFO,不相關的進程也能 交換數據。FIFO不同於管道之處在

原创 基於Linux下的socket網絡編程----------多進程

多進程編程1.進程的涵義2.爲什麼要多進程編程3.進程空間的內部佈局4.fork()系統調用5.vfork()系統調用6.wait()與waitpid()7.多進程改寫服務器程序 1.進程的涵義 什麼是一個進程?在操作系統原理使用

原创 單片機流水燈顯示方式

對於單片機的顯示方式有很多種:閃爍,交替,流水燈等等。但今天我做的就是流水燈,但實際上所用的代碼都差不多,只有把顯示方式的子程序改一下即可。我用到的語言是C語言,而且是用鍵盤控制的。 只要把相應的電平變爲低電平就可以了;相反,如果

原创 GCC編譯之過程詳解

gcc編譯過程1.編譯過程1.1編譯的概念1.2 常用選項2.預處理2.1代碼示例3.編譯、優化3.1代碼示例:4.彙編4.1代碼示例5.鏈接 1.編譯過程 1.1編譯的概念 編譯程序讀取源程序(字符流),對之進行語法和詞法分析,

原创 排序的時間複雜度和空間複雜度

時間複雜度和空間複雜度1.時間複雜度2.空間複雜度3.各類排序4.穩定性 1.時間複雜度 在計算機科學中,算法的時間複雜度是一個函數,它定性描述該算法的運行時間。這是一個代表算法輸入值的字符串的長度的函數。時間複雜度常用大O符號表

原创 TCP/IP與OSI模型

TCP/IP與OSI模型1.OSI七層模型***1.物理層******2.數據鏈路層******3.網絡層******4.傳輸層******5.會話層******6.表示層******7.應用層***2.TCP/IP協議***1.

原创 Linux下的網絡socket編程---------------多路複用(poll)

poll 多路複用1.select和poll的異同2.函數原型及解析3.代碼示例 1.select和poll的異同 select()和poll()系統調用的本質一樣,前者在BSD UNIX中引入的,後者在System V中引入的。

原创 數據結構算法淺談

數據結構算法淺談1.貪心算法(1)基本要素(2)基本思路(3)算法特性(4)例題分析2.窮舉算法(1)基本概述(2)例題分析3.二分查找(1)基本概念(2)查找過程(3)C代碼示例 1.貪心算法 (1)基本要素 貪心選擇 貪心選擇

原创 Linux下的文件權限與目錄配置

最近看了《鳥哥的Linux私房菜》之後,對文件的權限管理有了新的認識,對文件和目錄的權限也有了系統的認知,其中最讓我容易混淆的就是“x”權限了! 1.用戶和用戶組 在我們要學習文件權限的時候,用戶和用戶組是一個非常基礎並且比較重要

原创 linux下同時創建多個進程

同時創建多個進程我的問題及解決查看進程命令 好久沒有寫博客了,最近在學校做實驗的時候遇到一個同時創建兩個進程的實驗,讓我對多進程編程有了新的認識,就一個進程退出的問題讓我糾結了幾天! 我的問題及解決 #include<stdio.