原创 Linux下rm和rmdir的區別

轉自:https://blog.csdn.net/a804229570/article/details/8211155-d:directory  -f:force  -i:interactive  -r:recursive  -v:ver

原创 網絡通信——socket

SOCKET1、 IP地址在互聯網上要允許任何兩臺主機與任何其他的主機進行通訊,TCP/IP爲每臺主機分配了一個唯一的32位數字,即IP地址,IP地址對網上的某個節點來說是一個邏輯地址,它獨立於任何特定的網絡硬件和網絡配置,IP地址由網絡

原创 C++檢測內存泄漏

一、前言在Linux平臺上 有valgrind可以非常方便的幫助我們定位內存泄漏,因爲Linux在開發領域的使用場景大多是跑服務器,再加上它的開源屬性,相對而言,處理問題容 易形成“統一”的標準。而在Windows平臺,服務器和客戶端開發

原创 消息隊列、信號量、共享內存各個函數

信號量信號量是一個特殊的整數值,主要用來控制多個進程對臨界資源的互斥訪問,進程根據信號量來判斷是否有 訪問的資源,這與前面所講的信號是不同的,信號是一種處理異步事件的方法,而信號量是一種進程同步機制,信號與信號量是兩個不同的東西。信號量是

原创 String用法詳解

string類聲明string類本不是STL的容器,但是它與STL容器有着很多相似的操作,因此,把string放在這裏一起進行介紹。 之所以拋棄char*的字符串而選用C++標準程序庫中的string類,是因爲他和前者比較起來,不必擔心內

原创 fork()與vfork()區別

轉自:http://blog.csdn.net/jianchi88/article/details/6985326fork()與vfock()都是創建一個進程,那他們有什麼區別呢?總結有以下三點區別: 1.  fork  ():子進程拷貝

原创 命名管道與信號

命名管道管道是指進程直接進行交換數據的通道,可分爲普通管道(pipe)和命名管道(FIFO),他們都是通過內核緩衝區按先進先出的方式進行數據傳輸,管道一端順序地寫入數據,另一端順序地讀入數據,管道最大的一個特點就是半雙工性,數據只能向一個

原创 Linux線程相關基礎函數解析

     在一個程序裏的多個執行路線就叫做線程。更準確的定義是:線程是“一個進程內部的一個控制序列”。       典型的unix進程可以看成只有一個控制線程:一個進程在同一時刻只做一件事情。有了多個控制線程以後,在程序設計時可以把進程設

原创 小項目之個人銀行賬戶管理程序(5)

在基類Account中將賬戶的公共操作皆聲明爲虛函數,因此可以通過基類的指針來執行各種操作,因而各種類型的賬戶對象都可以通過一個指針的數組來訪問。//date.h #ifndef _DATE_H_ #define _DATE_H_ cla

原创 Linux系統tcp模式下服務器與客戶端通信(僅限一個客戶端)

//ser.c #include<stdio.h> #include<unistd.h> #include<string.h> #include<stdlib.h> #include<sys/socket.h> #include<net

原创 UNIX網絡編程 System V IPC函數、命令解析

信號量函數 semget() semop() semctl()semget()      可以使用系統調用semget()創建一個新的信號量集,或者存取一個已經存在的信號量集:系統調用:semget();原型:intsemget(key_

原创 Linux使用互斥鎖和條件變量實現讀寫鎖(讀優先)

本篇博客結合上篇讀寫鎖(寫優先)//my_pthread_rwlock.h #pragma once #include<pthread.h> #include<stdio.h> typedef struct { pthrea

原创 套接字設置

套接字設置      利用套接字能完成很多豐富得應用,但要想利用套接字實現更復雜得應用,必定會涉及到調整套接字屬性,通過調整套接字屬性,能夠實現廣播、組播、地址重用、數據緩衝區以及數據超時處理等功能。 int getsockopt(int

原创 Linux使用互斥鎖和條件變量實現讀寫鎖(寫優先)

(1)只要沒有線程持有某個給定的讀寫鎖用於寫,那麼任意數目的線程可以持有該讀寫鎖用於讀(2)僅當沒有線程持有某個讀寫鎖用於讀或用於寫時,才能分配該讀寫鎖用於寫換一種說法就是,只要沒有線程在修改(寫)某個給定的數據,那麼任意數目的線程都可以

原创 Linux系統udp模式下服務器與客戶端通信(可同時多個客戶端一起通訊)

//ser.c #include<stdio.h> #include<unistd.h> #include<stdlib.h> #include<string.h> #include<sys/socket.h> #include<net