原创 測試QTimer定時器精準度的小程序

可以在dialog上添加三個label查看時間和異常次數,也可以在打印輸出欄看每次timer超時事件誤差適度少(都是ms級別的)#ifndef DIALOG_H #define DIALOG_H #include <QDialog> #

原创 linux中使用內存映射(mmap)操作文件的方法

在使用內存映射操作文件之前,我們先按照常規的方式來讀寫文件,這種方式操作如下: 1,打開或創建文件,得到文件描述符, 2,將內存中的數據以一定的格式和順序寫入文件,或者將文件中的數據以一定的格式和順序讀入到內存; 3,關閉文件描述

原创 Qt GUI 通過鼠標事件剖析整個事件處理流程(基於Qt4.5.2源碼windows平臺)

/*以下分析的是Windows平臺 Qt GUI程序的事件產生,分發,處理全過程(基於Qt5.4.2源碼整理) 以一個鼠標按壓的事件爲例子講述 ...表示省略掉一些代碼(skip code) 事件起源: 基於事件如何被產生與分發,可以

原创 使用zlib庫解壓*.zip文件

1.編輯zlib靜態庫       1)實現zip文件壓縮和解壓的zlib庫部分代碼(基於zlib-1.2.5)              這是zlib-1.2.5源碼:http://download.csdn.net/download/

原创 Qt Application的插件開發流程

創建一個QT的庫項目,刪除自動生成的.h和.cpp文件,添加一個接口定義.h文件和一個接口實現類(一個.h一個.cpp).代碼如下: 1.接口文件源碼 #ifndef PLUGININTERFACE_H #define PLUGIN

原创 http Get Post

Http定義了與服務器交互的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETE。URL全稱是資源描述符,我們可以這樣認爲:一個URL地址,它用於描述一個網絡上的資源,而HTTP中的GET,POST,PUT,DEL

原创 Qt與JSON

JSON基礎語法  1)對象:一個對象以“{”開始,“}”結束。格式爲{key:value,key:value,key:value,...}。 示例:{ "firstName":"Brett", "lastName":"McLaughli

原创 剖析Qt 事件的產生、分發、接受、處理流程

Windows上Qt事件處理機制詳解: 1、誰來產生事件: 最容易想到的是我們的輸入設備,比如鍵盤、鼠標產生的 keyPressEvent,keyReleaseEvent,mousePressEvent,mouseReleaseEv

原创 CPU 讀、修改內存數據過程

之前一直不明白爲什麼一個線程修改了數據(不用volatile修飾),而另一個線程讀取時還是之前的值,網上查找了一些資料做了個總結,純屬個人理解如有不對請指正 1.CPU緩存(Cache Memory)是位於CPU和內存之間的臨時存儲器,

原创 Qt QTimer測試定時精度

調試信息輸出窗口可以查看超時誤差 dialog.h文件 #ifndef DIALOG_H #define DIALOG_H #include <QDialog> #include <QDateTime> namespace Ui {

原创 一個無邊框帶默認標題欄的widget

還有一些擴展接口沒有添加,有興趣的同學可以自己添加 1.WinTitleBarWidgetBase類聲明 #ifndef WINTITLEBARWIDGETBASE_H #define WINTITLEBARWIDGETBASE_H

原创 OSI模型、網際網協議模型

OSI模型和網際網協議模型對應關係如下圖所示:        計算機網絡各層對等實體間交換的單位信息稱爲協議數據單元(protocol data unit,PDU)。按照協議與服務之間的關係(物理層除外),每層的PDU都是由緊鄰下層提

原创 大端、小端、網絡字節序

網絡字節序(Network Byte Order)一般是指大端(Big-Endian,對大部分網絡傳輸協議而言)傳輸,大端小端的概念是面向多字節數據類型的存儲方式定義的,小端就是低位在前,大端就是高位在前,(其中“前”是指靠近內存低地址,

原创 AJAX POST數據中有特殊符號處理方法

postData = ~!@#¥%……&*()——  ++++++——)&……%¥# postData = postData..replace(/%/g, "%25"); postData = postData..replace(/

原创 C++引用深度分析

引言       我選擇寫 C++ 中的引用是因爲我感覺大多數人誤解了引用。而我之所以有這個感受是因爲我主持過很多 C++ 的面試,並且我很少從面試者中得到關於 C++ 引用的正確答案。        那麼 c++ 中引用到底意味這什麼呢