原创 HTTP GET POST 詳解

一 原理區別     一般在瀏覽器中輸入網址訪問資源都是通過GET方式;在FORM提交中,可以通過Method 指定提交方式爲GET或者POST,默認爲GET提交 Http定義了與服務器交互的不同方法,最基本的方法有4種,分別是G

原创 QAtomicInt Memory Ordering

Memory Ordering Background  很久很久很久以前,CPU忠厚老實,一條一條指令的執行我們給它的程序,規規矩矩的進行計算和內存的存取。  很久很久以前, CPU學會了Out-Of-Order,CPU有了C

原创 Qt reentrant、thread-safe

解釋一下貫穿整個Qt幫助文檔的倆個關鍵字reentrant、thread-safe。(通常用來修飾函數或者類) 1.reentrant(可重入的):可以被多個線程同時調用,但是隻能調用自己的數據(言外之意就是不能調用共享數據,負責會出現

原创 register、volatile、inline

1、register 在函數內定義變量時,默認是 auto 類型,變量存儲在內存中,當程序用到該變量時,由控制器發出指令將內存中該變量的值送到運算器,計算結束後再從運算器將數據送到內存。如果一個變量用 register 關鍵字修飾,編

原创 Qt5主要機制和模塊概述

Qt的幾個主要機制 1、The Meta-Object System,元對象系統  2、The Property System,屬性系統  3、Object Model,對象模型  4、Object Trees & Ownership,對

原创 c++ 生成文件MD5

md5.h #ifndef MD5_H #define MD5_H #include <string> #include <fstream> /* Type define */ typedef unsigned ch

原创 C++ 產生guid

windows下: std::string CreateGuid() { char buffer[GUID_LEN] = { 0 }; GUID guid; if (CoCreat

原创 doxygen安裝使用

1.先下載解壓解壓附件中Doxygen.zip(點擊打開鏈接),安裝doxygen,沒有注意事項全都下一步安裝即可 2.安裝graphviz-2.38.msi,沒有注意事項全都下一步安裝即可 3.安裝htmlhelp.exe 4.配置do

原创 C++開源大全

程序員要站在巨人的肩膀上,C++擁有豐富的開源庫,這裏包括:標準庫、Web應用框架、人工智能、數據庫、圖片處理、機器學習、日誌、代碼分析等。   標準庫 C++ Standard Library:是一系列類和函數的集合,使用核心

原创 設計模式--單例模式

概述:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 示例如下(非線程安全的,如果是多線程的單例模式需要加鎖控制): #include<iostream> using namespacestd; //單例類的聲明 class Si

原创 C++ 獲取當前時間毫秒數(兼容windows和linux)

#ifdef _WIN32 #include <winsock2.h> #include <time.h> #else #include <sys/time.h> #endif unsigned long long GetCurr

原创 c++ int、long long 轉string int轉wstring

#include <strstream> #include <sstream> #include <string> string IntToString(int n) { std::string result; std::

原创 TCP連接的建立和終止

1.TCP連接的建立         三路握手如下圖所示: 建立一個TCP連接情形如下:         (1)服務器進程必須準備好接受外來的連接。通過調用socket,bind,listen這三個函數來完成,也可以稱爲被動打開。  

原创 C++ sqlite數據庫增刪改查(基於sqlite3)

1.下載sqlite3源碼編譯庫     下載地址:http://download.csdn.net/download/sunxianliang1/9598664     可以直接用vs2013打開,然後編譯成庫 2.使用sqlite3庫

原创 windows、linux獲取當前時間

1.返回的爲毫秒,親測可用 #ifdef _WIN32 #include <windows.h>#include <time.h> #else#include <sys/time.h> #endif unsigned long long