原创 c語言中的各種變量是如何存儲的(二)

本次講常量數據,常量數據一般放在.rodata段(ro代表read only)。 常量數據有哪些呢,一般有字符串常量和帶const的變量;代碼一:

原创 記錄使用Promise和await的一個小坑

今天寫了一段類似這樣的代碼 function Sleep(){ return new Promise((resolve, reject)=>{ setTimeout(() => { reject("failed

原创 淺析epoll

什麼是epoll 多路複用io接口select/poll的增強版本,顯著提高程序在大量併發連接中只有少量活躍情況下的cpu利用率 epoll的優缺點 優點 1. 支持大數目的FD 2. IO效率不隨FD數量增加而線性下降 3. 使用m

原创 Queue學習之Singly-Linked List

早就聽說了libevent這個開源網絡庫的大名,剛好最近時間比較閒,所以就拜讀一下。計劃是從0.1版本(最早版)開始看起,因爲我想看一下libevent成長曆史和網絡通信方面的相關技術發展。在libevent0.1版本中,核心就是even

原创 Libevent0.1學習之queue.h

最近打算研究一下libevent網絡庫,發現用了FreeBSD的queue.h中的尾隊列來存儲各種事件隊列。下面就是一些學習queue.h的一些筆記。 queue.h中定義了一系列的宏操作去實現單鏈表、雙鏈表、簡單隊列、尾隊列和循環鏈

原创 Session 和 Token

Cookie 、Session 和Token Cookie、Session和Token是當下互聯網的兩個非常重要的東西 起源 衆所周知,http協議是無狀態的,每個http請求(http 1.0)從瀏覽器發起請求到服務器處理完請求後,

原创 文件編碼學習筆記

幾種常見的編碼 ASCII:ASCII算是我們最早接觸的一個編碼,記得學C語言的char類型時候就開始認識它了,它的範圍是0-127,它除了包含所有的英文字母和英文標點符號外還有一些不可打印的控制符號,比如製表符(0x9)、換行符(0x

原创 getopt_long()使用方法

本文內容大部分翻譯自Linux Man Page 用於學習如何解析命令行參數,其中講解了getopt、getopt_long、getopt_long_only等函數的用法和區別。 對下文中遇到的詞彙做一下約定: 比如在終端輸

原创 Qt中xml元素的遍歷

#include <QtCore/QCoreApplication> #include <QDomDocument> #include <QFile> #include <QDebug> int main(int argc, char

原创 Java學習筆記之接口和抽象類

前言 最近遇到了接口和抽象類的使用,搞不明白二者的區別,所以特地研究了下,筆記如下。 接口和抽象類的定義 抽象類:包含抽象方法的一個類叫做“抽象類”。 接口:可將其想象成爲一個“純”抽象類,它只聲明類方法,不提供方法的實現細節。 接口

原创 Java學習筆記之獲取當前目錄或文件

近來在項目中遇到一個關於獲取項目目錄下配置文件的問題?在eclipse中可以正確獲取配置文件,但是當項目打包成jar包後就出現"找不到文件"的異常。特此研究了一下java中獲取當前目錄和獲取項目中文件的方法。 實驗代碼如下 impo

原创 Shutdown程序源碼學習筆記

本文提到的shutdown程序是cygwin下的開源程序shutdown(源碼) C語言字符串操作 strrchr(str, ch):該函數返回ch字符在str(C語言字符串)中最後出現的位置(即一個指針),如果不存在,則返回NUL

原创 C++學習筆記之智能指針

引言 衆所周知,C++中最讓程序員頭疼的就是關於內存的問題,其中不外乎以下幾點: 1. 緩衝區溢出 2. 野指針 3. 重複釋放內存 4. 不配對的new/delete 5. 內存泄露 其中大多數的問題都是對指針的不正確使用帶

原创 Libevent0.1之測試Libevent自帶的例子

因爲0.1版本的只支持linux版本,所以本文章中的測試環境是在ubuntu下進行。 準備工作 下載0.1版本的libevent。 開始 先解壓下載下來的源碼Download$ tar xzvf libevent-0.1.tar.gz 編

原创 配置PHP中的mail方法發送郵件

我的環境:XAMPP v3.2.1準備工作1.檢查有沒有sendmail程序,在xampp安裝目錄下的sendmail文件夾下。沒有則下載sendmail.zip(http://glob.com.au/sendmail/),然後解壓並放在