原创 IPC進程通信方式——管道通信方式

管道分無名管道和有名管道(FIFO)   管道通信是Unix進程通信最早的方式,只適用於兩個進程之間通信,網格通信就很複雜,而且它是半雙工的,一個管道一般只用於一個方向。   關於爲什麼是半雙工的:如果你又要讀又要寫,你的可能讀到

原创 封裝了下簡單的短信轟炸機

這是我的邏輯。 這樣通過http請求解析出來手機號,http服務器把手機號扔給boom.py,然後boom.py進程後臺掛起執行即可。 發短信的核心代碼在網上找(挺多的),然後修改下,測試一波。 沒想到啊,剛搭建好,短信就收不到

原创 C/C++程序內存分配

32bit總線可尋址2^32B地址,這是32位系統。 上面是高地址空間,下面是低地址空間。 1GB的內核空間,3GB的用戶空間。 內存空間分類(從上到下): 內核區域,棧(執行空間),存儲映射區(動態鏈接庫等文件映射,mallo

原创 scoped_ptr簡單實現

/* scoped_ptr的實現 和auto_ptr的區別就是,拷貝構造函數聲明成了私有的,這樣管理權就不會轉讓了。 還有一個scoped_ptr,區別在於指針指向的是數組的,不能重載->,改成operator [],按照數組方式

原创 C++頭文件報錯,頭文件保護符使用

提要 C++頭文件是爲了聲明函數,聲明變量。 注意,是聲明。 int a=1;是直接定義了。 extern int a; 這是聲明,指示編譯器這個變量可能在別的文件中被定義,編譯器會在符號表中找到定義後填入響應的值。 一個項目中

原创 Linux僞文件系統

  僞文件系統,這個概念資料較少。   Unix、Linux系統裏面有文件描述符這個概念(萬物皆文件),比如常規的文件,標準輸入輸出錯誤(0,1,2描述符),還有套接字,消息隊列等等。   它們雖然存在文件系統中某個目錄,但是不屬

原创 epoll服務器代碼實例

/*該文件實現服務器的監聽 * * * */ #include<stdio.h> #include<sys/epoll.h> #include<sys/socket.h> #include<errno.h> #inclu

原创 C++ Boost庫、Muduo庫安裝

C++網絡編程 - Boost::asio異步網絡編程 - boost庫源碼編譯安裝 https://blog.csdn.net/QIANGWEIYUAN/article/details/88792874 C++ muduo網絡庫

原创 stl_vector源碼分析

說明   源代碼基於版本gcc 4.8(在linux環境下),和現在用的mingw差不多。   這裏先說明下,mingw是個老大爺基於gcc開發的,用在windows平臺上,穩定性不算很高(易出bug),同在windows下版本

原创 auto_ptr簡單實現

/* auto_ptr的實現 */ #include<bits/stdc++.h> using namespace std; namespace P{ template <typename T> class A

原创 Strlen和Sizeof的區別

Strlen是函數,複雜度是O(n)的 Sizeof是運算符,複雜度是常數的 Sizeof的值在聲明的時候就已經確定了: 如圖所示,char s[100]已經說明了sizeof(s)是100,strlen會掃描一遍直

原创 關於一段時間面試的總結(持續更新)

前言   一直一來把面試當成是一個練習。   但是覺得春招要是有機會還是想衝一把的。   每次面試完之後,我也要去梳理下不足,補下沒有學會的知識,放那不管真是想捶死自己。 1、字節面試   關於字節的面試:一面發揮不錯,五分鐘後二

原创 陳碩多線程服務器編程--持續更新

1、https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html C++中voliate關鍵字,多線程共享變量用voliate修飾,因爲有時候編譯器優化,

原创 Weak_ptr實現

前言: 循環引用實例: /* @author:wcx @task:shared_ptr循環引用實例 */ #include<bits/stdc++.h> using namespace std; struct no

原创 Shared_ptr簡單實現

/* @author:wcx @task:shared_ptr實現 */ #include<bits/stdc++.h> using namespace std; namespace P{ template