原创 網絡傳輸中MAC地址表、ARP表和路由表詳解

一:MAC地址表詳解 說到MAC地址表,就不得不說一下交換機的工作原理了,因爲交換機是根據MAC地址錶轉發數據幀的。在交換機中有一張記錄着局域網主機MAC地址與交換機接口的對應關係的表,交換機就是根據這張表負責將數據幀傳輸到指定的主機

原创 C++之單目運算符重載

單目運算符只有一個操作數,如!a,-b,&c,*p,還有最常用的++i和--i等。重載單目運算符的方法與重載雙目運算符的方法是類似的。但由於單目運算符只有一個操作數,因此運算符重載函數只有一個參數,如果運算符重載函數作爲成員函數,則還可省

原创 MySQL數據庫表結構設計優化技巧總結

很多人都將 數據庫設計範式 作爲數據庫表結構設計“聖經”,認爲只要按照這個範式需求設計,就能讓設計出來的表結構足夠優化,既能保證性能優異同時還能滿足擴展性要求。殊不知,在N年前被奉爲“聖經”的數據庫設計3範式早就已經不完全適用了。這

原创 函數返回值爲引用、非引用及引用左值的情況

返回非引用       string make_plural(size_t i,const string &word,const string &ending)       {              return (i==1)?wor

原创 通過設置靜態路由來實現不同網段可以互相訪問的方法

隨着寬帶接入的普及,很多家庭和小企業都組建了局域網來共享寬帶接入。而且隨着局域網規模的擴大,很多地方都涉及到2臺或以上路由器的應用。當一個局域網內存

原创 Qt中的信號與槽機制解析

注:要想使用Qt的核心機制信號與槽,就必須在類的私有數據區聲明Q_OBJECT宏,然後會有moc編譯器負責讀取這個宏進行代碼轉化,從而使Qt這個特有的機制得到使用。 所謂信號槽,簡單來說,就像是插銷一樣:一個插頭和一個插座。當某種事件

原创 消息隊列和管道的區別以及和共享內存相比效率低的原因

管道和消息隊列的區別 管道(PIPE) 管道通信方式的中間介質是文件,通常稱這種文件爲管道文件。兩個進程利用管道文件進行通信時,一個 進程爲寫進程,另一個進程爲讀進程。寫進程通過寫端(發送端)往管道文件中寫入信息;讀進程通過讀

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

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

原创 爲何Windows下的動態庫總伴隨一個靜態庫?

爲何Windows下的動態庫總伴隨一個靜態庫? 今天同學來問了一個問題:Visual Studio中生成的動態庫總是伴隨着一個靜態庫文件,我把這兩個文件同樣進行重命名之後還能不能使用? 我對VS下的動態庫的生成並不是很熟悉,表示

原创 vs2010中自動生成Qt的moc文件的方法

  Qt 程序在交由標準編譯器編譯之前,先要使用 moc 分析 C++ 源文件。如果它發現在一個頭文件中包含了宏 Q_OBJECT,則會生成另外一個 C++ 源文件。這個源文件中包含了 Q_OBJECT 宏的實現代碼。這個新的文件名字

原创 使用Dump文件讓程序在崩潰時體面的退出

在我的那篇《讓程序在崩潰時體面的退出之CallStack》中提供了一個在程序崩潰時得到CallStack的方法。可是要想得到CallStack,必須有pdb文件的支持。但是一般情況下,發佈出去的程序都是Release版本的,都不會附帶pd

原创 SAN與NAS

SAN : STORAGE AREA NETWORK    存儲區域網絡 NAS : NETWORK ATTACHED STORAGE  網絡附加存儲   NAS不一定是盤陣,一臺普通的主機就可以做出NAS,只要它自己有磁盤和文件系統,而

原创 VC環境下(非QT環境)使用Qt的配置方法

       最近在已經發布的dll工程中發現了一個bug,最後決定使用Qt的signal-slot機制去改善。但是原始dll工程並非Qt工程,只是一個MFC工程,直接使用Qt函數是會報錯的。經過我的摸索,最終成功移植,使其兼容Qt的函數

原创 Qt之右鍵菜單實現

最近在看C++ GUI  Qt4部分其中有個例子對於擴展一個應用程序提供一個上下文菜單。 Qt中的部件的彈出菜單(ContextMenu),依據ContextMenuPolicy的值的不同,有四種形式:一、默認菜單此時,ContextMe

原创 C++變量的聲明和定義

我們已經知道,一個函數一般由兩部分組成:聲明部分和執行語句。聲明部分的作用是對有關的標識符(如變量、函數、結構體、共用體等)的屬性進行說明。對於函數,聲明和定義的區別是明顯的,前邊已說明,函數的聲明是函數的原型,而函數的定義是函數功能的確