線程1.Thread類 1.1概述 Ice中的基礎線程是由ThreadControl類和Thread類來提供的(在IceUtil/IceUtil.h中定義): Thread類是一個抽象基類,擁有一個純虛方法run。要建立線程,必須特化Thread類,並實現run方法。 1.2 其成員函數
1. 訊息序列化 將具有一定結構的資料轉換成可以存取或者可以傳輸的形式,比如轉換成字元流的形式(char *)。通過序列化後,訊息可以在系統各邏輯模組或者網路中傳輸。 2.訊息還原序列化 顧名思義,還原序列化與序列化的過程相反。例如,將網路中傳過來的放在緩衝區的位元組流資料(char *)解碼成具有一定含義和結構的資料,然後便可以對接出來的資料進行處理。 3.執行個體 3.1) 序列化 3.2) 還原序列化 與上面過程相反。
群碩的筆試在語言方面主要是Java和C++,夾了一道C#題,趁記憶猶新的時候記下來 一、給了一棵二叉樹的前序走訪和中序遍曆,要求寫出後序遍曆。看一下資料結構就行了,很easy。提示:前序走訪的第一個節點為根結點,在中序遍曆中根結點的左邊節點是左子樹,右邊節點是右子樹,如此遞迴。 二、什麼是實體記憶體和虛擬記憶體,OS中為什麼要使用虛擬記憶體?看OS的書。 三、解釋一下C#中的“delegate”。原先不清楚的,然後在技術面試的時候問了一下面試官,原來類似於一個隊列,隊列中存的是函數指標(託管函數
./depcomp: line 512: exec: g++: not found make[2]: *** [my_new.o] 錯誤 127 make[2]: Leaving directory `/usr/local/setup/mysql-5.1.68b/mysys' make[1]: *** [all-recursive] 錯誤 1 make[1]: Leaving directory `/usr/local/setup/mysql-5.1.68b' make: *** [all]
最近做了個課程大作業---web人事管理系統。 其中涉及到了xml資料互動的知識,現在記錄下來作為讀書筆記。 一。首先是在C#.net中將Treeview與xml節點資料繫結,準確來說是讀取xml資料,產生樹狀圖顯示出來。下面是代碼與解釋(1)包含庫using System.Web;using System.Web.UI;using System.Xml;(2)開啟xml檔案private static XmlDocument xmlDoc;private void openXML(){
1. 說說簡單的函數回調首先說說一種簡單的函數回調機制(一種通過擷取對象的指標來進行函數的調用方法)下面是代碼示範---這是觀察者(被回調)部分:class Observer{public:// 抽象觀察者的純虛函數virtual void UpdateMessage() = 0;};class ConcreteObserver : public Observer{public:// 實現抽象類別的純虛函數void UpdateMessage();}void ConcreteObserver::
1——或邏輯短路#include <stdio.h>int main(){int a=5,b=6,c=7,d=8,m=2,n=2;(m=a<b)||(n=c>d);printf("%d\t%d",m,n);}輸出的結果為1,2.為什麼呢,因為a<b,m=1,這個“或”邏輯就被“短路”掉了,後面的語句就沒被執行,所以n還是等於原先的22——與邏輯短路#include <stdio.h>int main(){int
轉載自:http://www.cnblogs.com/youxin/archive/2012/03/27/2420023.html先看下面一段代碼輸出什麼:#include<stdo.h>int main(){ int *p=NULL; printf("%s",p); }輸出(null) ,單步調試可以看出執行int
一、位元運算符C語言提供了六種位元運算符:& 按位與| 按位或^ 按位異或~ 取反<< 左移>> 右移1. 按位與運算 按位與運算子"&"是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 ,否則為0。參與運算的數以補碼方式出現。例如:9&5可寫算式如下: 00001001 (9的二進位補碼)&00000101 (5的二進位補碼) 00000001 (1的二進位補碼)可見9&5=1。
轉載自:http://www.cnblogs.com/hnrainll/archive/2011/08/03/2126660.htmlC語言提供一種特殊的運算子——逗號運算子。用它將兩個運算式串連起來。如: 3+5,6+8稱為逗號運算式,又稱為“順序求值運算子”。逗號運算式的一般形式為
一、運算子的優先順序表C 語言的符號眾多,由這些符號又組合成了各種各樣的運算子。既然是運算子就一定有其特定的優先順序,下表就是C 語言運算子的優先順序表:註:同一優先順序的運算子,運算次序由結合方向所決定。上表不容易記住。其實也用不著死記,用得多,看得多自然就記得了。也有人說不用記這些東西,只要記住乘除法的優先順序比加減法高就行了,別的地方一律加上括弧。這在你自己寫代碼的時候,確實可以,但如果是你去閱讀和理解別人的代碼呢?別人不一定都加上括弧了吧?所以,記住這個表,我個人認為還是很有必要的。二、
C語言的優先性和結合方向問題C語言的書籍的附錄都要說一個問題,就是優先性和結合方向。 我的理解是這些是建立在運算式的基礎之上的,寫一個c語言的運算式或者看一個C語言的運算式,先看優先性,在優先性相同的情況下,再根據結合方向,判斷運算式的那個部分先運算,那個後運算。如: 1. a=b=c=0,只有一個=,因此優先性相同,因此看結合方向,結合方向是從右至左,因此,整個表達是從右開始計算,上面等價與a=(b=(c=0)),這是正確地,但是下面這個問題該怎麼解釋哪? 2. a=*p+
C語言中,將結構體指標傳入函數後,記憶體位址沒變,記憶體資料發生變化:rgbBlockInfo_t *rgbBlockInfo = NULL;/*獲得地址*/rgbBlockInfo = fileToRgbBufBlock(rgbBufInfo, "D:\\picData\\pens.rgb");/*將地址傳入函數*/rgbFileWrite(rgbBlockInfo,
同事給的幾道題目1.介紹一下STL,詳細說明STL如何?vector。4.指標和引用有什麼分別;如果傳引用比傳指標安全,為什嗎?如果我使用常量指標難道不行嗎?5.參數傳遞有幾種方式;實現多態參數傳遞採用什麼方式,如果沒有使用某種方式原因是什嗎?6.結合一個項目說明你怎樣應用設計模式的理念。7.介紹一下你對設計模式的理解。(這個過程中有很多很細節的問題隨機問的)8.C++和C定義結構的分別是什麼。9.建構函式可否是虛汗數,為什嗎?解構函式呢,可否是純虛的呢?10,拷貝建構函式相關問題,深拷貝,淺拷
閑來無事,考慮到以前遇到的一個問題,使用std::vector進行資料的儲存,如果儲存的資料量多大或者是沒有足夠的記憶體時該何如處理,聯想到學習OS時虛擬記憶體的概念,感覺是一個好的解決方案,於是動手寫了一個小的程式實現了該想法。以下是C++代碼只在記憶體中保留指定數量的最近使用的資料,其餘的資料儲存到一個檔案中,如果訪問的資料在儲存中則直接從記憶體中提取即可,如果沒有在記憶體中首先要將資料Load到記憶體中,該代碼同時考慮到了,記憶體和檔案之間交換效率的問題,例如:現在在記憶體中的資料範圍為[
由於linux核心中usbserial模組是為低速usb裝置所設計,無法應對目前的3G無線USB上網卡裝置的高速模式,所以雖然在linux下可正常拔號,最高速度仍然只能達到62K/s,為解決此問題可通過修改linux核心代碼中的usbserial來完成。 參考連結:
【簡 介】.NET Framework 為非同步作業提供了兩種設計模式:使用 IAsyncResult 對象的非同步作業與使用事件的非同步作業。先來學習前者 .NET Framework 為非同步作業提供了兩種設計模式:使用 IAsyncResult 對象的非同步作業與使用事件的非同步作業。先來學習前者 概述 IAsyncResult 非同步設計模式通過名為 BeginOperationName 和 EndOperationName 的兩個方法來實現原同步方法的非同步呼叫,如
c#實現斷點續傳 在瞭解HTTP斷點續傳的原理之前,讓我們先來瞭解一下HTTP協議,HTTP協議是一種基於tcp的簡單協議,分為請求和回複兩種。請求協議是由客戶機(瀏覽器)向伺服器(WEB SERVER)提交請求時發送報文的協議。回複協議是由伺服器(web server),向客戶機(瀏覽器)回複報文時的協議。請求和回複協議都由頭和體組成。頭和體之間以一行空行為分隔。 以下是一個請求報文與相應的回複報文的例子:GET /image/index_r4_c1.jpg HTTP/1.1Accept:
1.進程和線程的差別。 線程是指進程內的一個執行單元,也是進程內的可調度實體. 與進程的區別: (1)調度:線程作為調度和分配的基本單位,進程作為擁有資源的基本單位 (2)並發性:不僅進程之間可以並發執行,同一個進程的多個線程之間也可並發執行 (3)擁有資源:進程是擁有資源的一個獨立單位,線程不擁有系統資源,但可以訪問隸屬於進程的資源. (4)系統開銷:在建立或撤消進程時,由於系統都要為之分配和回收資源,導致系統的開銷明顯大於建立或撤消線程時的開銷。 2.測試方法
// ************************************// * *// * function.h *// * *// ************************************ #include<iostream.h>class consumer;class ATM