原创 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