Time of Update: 2018-12-03
有時候,一個PLMM在網吧上過網以後,你不好意思去搭訕要她得電話,所以就得靠自己去看她得QQ上過以後留下的記錄了。我們自己去翻QQ檔案是不是很累,我們來編個程幫我們幹活。 #include "stdafx.h"//對比資料,找到相同位元組集的位移int GetInBuffer(const void *pStart, int nLen, const void *pFindBuffer, int nfLen){for (int i = 0; i < nLen - nfLen;
Time of Update: 2018-12-03
進程是作業系統結構的基礎;是一個正在執行的程式;電腦中正在啟動並執行程式執行個體;可以分配給處理器並由處理器執行的一個實體;由單一順序的執行顯示,一個目前狀態和一組相關的系統資源所描述的活動單元。對應用程式來說,進程就像一個大容器。在應用程式被運行後,就相當於將應用程式裝進容器裡了,你可以往容器裡加其他東西(如:應用程式在運行時所需的變數資料、需要引用的DLL檔案等),當應用程式被運行兩次時,容器裡的東西並不會被倒掉,系統會找一個新的進程容器來容納它。動態性:進程的實質是程式在多道程式系統中的一
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 在我們編寫軟體的過程當中,少不了需要使用別人的庫函數。因為大家知道,軟體是一個協作的工程。作為個人來講,你不可能一個人完成所有的工作。另外,網路上一些優秀的開源庫已經被業內廣泛接受,我們也沒有必要把時間浪費在這些重複的工作上面。
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 在Linux下面,編寫makefile是一件辛苦的事情。因此,為了減輕程式員編寫makefile的負擔,人們發明了autoconf和automake這兩個工具,可以很好地幫我們解決這個問題。 我們可以通過一個簡單的樣本來說明如何使用組態工具。(1)首先,編寫源檔案hello.c。#include <stdio.h>int main(int argc, char**
Time of Update: 2018-12-03
1、有三種檔案IO流類:fstream、ifstream和ofstream,使用時要包含標頭檔:#include <fstream>;2、實際應用中,根據不同的需要選擇不同的IO流類。如果想以輸入方式開啟,就用ifstream來定義;如果想以輸出方式開啟,就用ofstream來定義;如果想以輸入輸出方式來開啟,就用fstream來定義;3、開啟檔案的第一種方式,通過建構函式。即在定義流對象時開啟檔案,這種模式在定義對象時需傳入檔案名稱和開啟模式,看一下三種檔案IO流類的建構函式定義:
Time of Update: 2018-12-03
RTTI與type_infoC++在編譯時間開啟RTTI(Run-Time Type
Time of Update: 2018-12-03
其實只要用到Socket聯結,基本上就得使用Thread,是交叉使用的。C#封裝的Socket用法基本上不算很複雜,只是不知道託管之後的Socket有沒有其他效能或者安全上的問題。在C#裡面能找到的最底層的操作也就是socket了,概念不做解釋。程式模型如下:WinForm程式 :
Time of Update: 2018-12-03
override可以翻譯為覆蓋,從字面就可以知道,它是覆蓋了一個方法並且對其重寫,以求達到不同的作用。override是重寫基類的方法,在基類中的方法必須有修飾符virtual,而在子類的方法中必須指明override。 格式: 基類中: public virtual void myMethod() { } 子類中: public override void myMethod() {
Time of Update: 2018-12-03
//獲得漢字的區位碼 byte[] array = new byte[2]; array = System.Text.Encoding.Default.GetBytes("啊"); int i1 = (short)(array[0] - ''/0''); int i2 = (short)(array[1] - ''/0'');//unicode解碼方式下的漢字碼 array = System.Text.Encoding.Unicode.GetBytes("啊"); i1 =
Time of Update: 2018-12-03
如果你的英文很好, 請閱讀英文版; 如果你的英文不好, 更沒有理由不閱讀英文版.The C Programming LanguageChinese: C程式設計語言Author : Brian W. Kernighan and Dennis M. Ritchie(K&R)Publisher: Prentice Hall; 2nd edition (April 1, 1988)Detail : bell-labs,google
Time of Update: 2018-12-03
C++STL的非變易演算法(Non-mutating algorithms)是一組不破壞操作資料的模板函數,用來對序列資料進行逐個處理、元素尋找、子序列搜尋、統計和匹配。 search演算法函數在一個序列中搜尋與另一序列匹配的子序列。它有如下兩個原型,在迭代器區間[first1, last1)上找迭代器區間[first2, last2)完全符合(或者滿足二元謂詞binary_pred)子序列,返回子序列的首個元素在[first1,
Time of Update: 2018-12-03
在Windows環境下,實現處理序間通訊的方式有很多種,如通訊端、管道、遠端程序呼叫和NETBIOS等,郵槽是其中實現單通道處理序間通訊的一種。建立郵槽的進程被稱為郵槽伺服器,而其它發送訊息給郵槽的進程被稱為郵槽用戶端。郵槽用戶端能發送訊息給原生郵槽,也可發送訊息給區域網路內其他電腦內的郵槽,所有這些訊息都儲存在郵槽內,直到郵槽伺服器讀取它。這些訊息通常是以廣播的方式發送,建立在面向無連結的資料報的基礎上,因此線上路不好時傳輸品質不可靠。 這種處理序間通訊的方式比較適用於在區域網路環境內傳送
Time of Update: 2018-12-03
15.3 代理模式應用執行個體 下面通過一個應用執行個體來進一步學習和理解代理模式。 1. 執行個體說明 某軟體公司承接了某資訊諮詢公司的收費商務資訊查詢系統的開發工作單位,該系統的基本需求如下: (1) 在進行商務資訊查詢之前使用者需要通過身分識別驗證,只有合法使用者才能夠使用該查詢系統; (2) 在進行商務資訊查詢時系統需要記錄查詢日誌,以便根據查詢次數收取查詢費用。
Time of Update: 2018-12-03
在看的二級C++的一本書中關於資料結構的內容列為了一章,介紹了比較新的概念。其中包括:線性表、棧、隊列、樹、二叉樹。 資料結構:是指相互之間存在一種或多種特定關係的的資料元素的集合。需要注意的是這裡的資料結構指的是邏輯結構,既關係,而非儲存結構。所謂的結構其實就是資料元素存在的前後關係,因此在實際儲存中各元素必須包括與前後元素的關係資訊。
Time of Update: 2018-12-03
C/S項目可以說是一個很完整很系列的軟體工程項目。通過此項目的學習,我們可以從整體上認識和經曆軟體開發的全過程,深切體會軟體開發過程中軟體工程起到的作用和協助。 從一開始的軟體文檔,宏觀瞭解軟體工程,然後是UML圖的學習,理解並實際操作UML圖,接下來就是設計模式,VB.NET,三層的基礎學習,其實之前學的這五項本領都是為了之後的重構版做鋪墊或是之後的重構版是為了之前學的這五項的一個練手和深刻理解。總之,相輔相成。 下面再具體來說說C/S每個階段的學習吧。
Time of Update: 2018-12-03
設計模式看下來,由於沒有很系統的鍛煉C#的代碼,雖然大體上能明白,但是總有些概念以及技術性東西不甚明了。既然遇到了,本著不求甚解的態度,將其記錄在案。無它,權當一次筆記。 一、Regex(解譯器模式) 概念:是指對字串操作的一種邏輯公式,即用事先定義的特定字元、及這些特定字元的組合,組成一個“規則字串”。這個規則字串用以表達對字串的一種過濾邏輯。
Time of Update: 2018-12-03
行為型模式 解譯器(依賴倒轉)給定一個語言,定義它的文法的一種表示,並定義一個解譯器,這個解譯器使用該表示來解釋語言中的句子。 如果一種特定類型的問題發生的頻率足夠高,那麼就可以考慮將該問題的各個執行個體表述為一個簡單語言中的句子。也就是說,通過構建一個解譯器,該解譯器解釋這些句子來解決該問題。 中介者(迪米特)用一個中介對象來封裝一系列的對象互動。中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的互動。 物件導向設計鼓勵將行為分布到各個對象中,這種分布可能會導致
Time of Update: 2018-12-03
前一陣子項目中,一直在用靜態方法,或者是靜態變數,就從網上查了一些資料做了小小的一個梳理與總結,便用加深理解。 那什麼是靜態方法呢?最直觀上靜態方法採用了使用了static修飾符。靜態方法作為一種特殊的成員方法,它可以看作為是屬於類本身的一種方法,而不屬於類的某一個具體的執行個體。所以對靜態方法不需要類的執行個體化就可以使用了,使用時格式一般而是採用類名.靜態方法。 class A { public static void b() {.........
Time of Update: 2018-12-03
什麼是三層架構:三層架構(3-tier application) 通常意義上的三層架構就是將整個業務應用劃分為:表現層(UI)、商務邏輯層(BLL)、資料訪問層(DAL)。區分層次的目的即為了“高內聚,低耦合”的思想。三層架構都有哪些優點:1、易於項目的修改和維護。在項目的開發過程中或者開發後的升級過程中,甚至在項目的移植過程中。這種三層架構是非常方便的。比如項目從Web移植到
Time of Update: 2018-12-03
方法重載可以使同一功能適用於各種類型的資料,它是聲明兩個以上的同名方法,實現對不同資料類型進行相同的處理方法重載的要求1、 重載的方法名稱必須相同2、 重載的方法,其形參個數或類型必須不同 如我們定義了swap(ref int a,ref intb)該函數用來實現兩個整形變數值的交換,但不會處理浮點型資料,我們在定義一個swap(ref flot a,ref flot b),這樣swap這個方法可以實現整形變數值的交換,也可以實現浮點型資料交換了(系統會根據資料的類型自己決定調用合適的方法)