Time of Update: 2018-12-04
二。Ice綜述 1.3)Slice(Ice規範語言) 1.3.1)概述 每個Ice對象都有一個介面,該介面具有一些操作。介面、操作,還有在客戶與伺服器間交換的資料類型,都是用Slice語言定義的。Slice語言一種獨立於特定程式設計語言的方式來定義客戶-伺服器的合約。Slice定義由一個編譯器編譯成特定程式設計語言的API,也就是說所定義的介面和類型對應的那一部分API會由產生的程式碼組 成。
Time of Update: 2018-12-04
類似於Mac OS, Linux,Windows的作業系統會將不同類型的資料存放到記憶體中的不同地區(段,section/segment)。可以在運行連結器的時候指定各種參數來控製程序的記憶體組織,下面是windows下的典型記憶體結構。(圖有誤,稍後修正)1) 作業系統保留了記憶體位址最低的位置。通常情況下,應用程式不能訪問這些地址的資料。系統保留這些空間的主要原因之一是協助檢查null 指標的引用;指標通常被初始化為NULL來表示指標是無效的。2)
Time of Update: 2018-12-04
Symbian 3rd中Draw()函數是const的成員函數,原型是 void Draw(const TRect& aRect) const。因此在該函數中不能修改類的成員變數,否則報"illegal assignment to constant"的錯誤。如果要初始化或者修改成員變數的話,一般將這些操作實現在ConstructorL()中實現。程式啟動並執行順序是先執行constructorL(),再調用Draw()進行圖形的渲染。(未完)
Time of Update: 2018-12-04
一.UI程式的基本類:1 )應用類(Application)類:作為程式入口,通過執行個體化應用程式和啟動文件類,來啟動應用程式。它也設定應用程式的UID(各個應用程式的唯一識別碼)。2)應用程式文檔類(Application document)類: 該類處理應用程式中非GUI資料-應用程式資料。它還執行個體化應用程式的UI類。3) 應用程式視圖(View)類:GUI根控制項,該類實現主視窗,並充當其他應用程式控制項的容器。 4)應用程式使用者介面(UI)類:該類執行個體化應用程式View類,
Time of Update: 2018-12-04
當伺服器處理一個客戶請求可能需要相當長一段時間的時候,使用迭代伺服器模式(即整個伺服器可能被耽擱客戶長期佔用)是會影響系統效能的。而處理並發已連線的服務器可以稱為並發伺服器。 並發伺服器的一個簡單操作是fork一個子進程來服務多個客戶。當一個串連建立時,用於阻塞進程的aceept返回,伺服器接著調用fork來建立一個子進程,該子進程通過已串連套介面connfd服務客戶;而父進程就可以通過監聽套介面來等待另外一個串連,同時該關閉已串連套介面。
Time of Update: 2018-12-04
受July(http://hi.csdn.net/v_JULY_v)影響,學C++的,應該懂得一些庫函數的實現原理,於是將幾個類似於strcmp的函數實現了一下。可能還有一些潛在的bug,會繼續完善和添加其他函數的實現。 //尋找字串中的子串int mystrstr1(const char* string,const char* substring){if(string==NULL||substring==NULL)return -1;int s1=strlen(string);int s2=
Time of Update: 2018-12-04
第一種方法,使用普通迴圈: unsigned int GetBitNum1(unsigned int nValue){const unsigned int nNumOfBitInByte = 8;unsigned int tempMask = 1;unsigned int n = 0;for(unsigned int i = 0 ; i < sizeof(nValue) * nNumOfBitInByte ; i++){(0 < (nValue & tempMask)) ?
Time of Update: 2018-12-04
在STL中基本容器有: string、vector、list、deque、set、mapset 和map都是無序的儲存元素,只能通過它提供的介面對裡面的元素進行訪問;set: 集合, 用來判斷某一個元素是不是在一個組裡面,使用的比較少;map: 映射,相當於字典,把一個值對應成另一個值,如果想建立字典的話使用它好了;底層採用的是樹型結構,多數使用平衡二叉樹(RB-Tree)實現,尋找某一值是常數時間,遍曆起來效果也不錯,
Time of Update: 2018-12-04
1.test.rss檔案中會調用rls檔案中的qtn_caption_string等。2.CTypefacestore -14錯誤-->GetNearestFontInTwips和ReleaseFont必須成對出現,缺少RealeseFont將導致此bug;3.CTypefacestore -1解決方案參考:http://www.devdiv.com/blog/space-15335-do-blog-id-1104.html;4.USER 11 記憶體越界
Time of Update: 2018-12-04
轉載自: http://www.iteye.com/topic/469644 先說Select: 1.Socket數量限制:該模式可操作的Socket數由FD_SETSIZE決定,核心預設32*32=1024. 2.操作限制:通過遍曆FD_SETSIZE個Socket來完成調度,不管哪個Socket是活躍的,都遍曆一遍. 後說Poll: 1.Socket數量幾乎無限制:該模式下的Socket對應的fd列表由一個數組來儲存,大小不限(預設4k). 2.操作限制:同Select. 再說:Epoll:
Time of Update: 2018-12-04
這兩天複習了作業系統的一些理論,並將此整理成讀書筆記,內容如下:一般來說,作業系統可以分為五大管理功能部分:1) 裝置管理:主要是負責核心與外圍裝置的資料互動,實質是對硬體裝置的管理,包括對輸入輸出裝置的分配,初始化,維護與回收等。例如管理音頻輸入輸出。2) 作業管理:這部分功能主要是負責人機互動,圖形介面或者系統任務的管理。3) 檔案管理:這部分功能涉及檔案的邏輯組織和物理組織,目錄結構和管理等。從作業系統的角度來看,檔案系統是系統對檔案儲存體器的儲存空間進行分配,維護和回收,同時負責檔
Time of Update: 2018-12-04
首先是用java來實現簡單的Server端(http的請求內容格式可以參考msdn:http://msdn.microsoft.com/zh-cn/library/hh202945(v=vs.92)):/** * 推送toast通知 * @param uriString 推送服務通知uri * @param title toast標題 * @param content toast內容 * @param param 頁面跳轉參數 * @return
Time of Update: 2018-12-04
初學Qt不久,很多東西既新鮮又陌生呀。而最近一直奇怪怎麼沒有TextEdittor中text()這個函數...糾結了那麼久,原來就那麼簡單!解決方案如下:QString s=ui->textEdit->toPlainText();QString是Qt庫中對C++源生字串類型的一種封裝。標準C++中只提供了兩種字串:
Time of Update: 2018-12-04
伺服器實現技術 1. 漸進的初始化如果我們使用servant定位器,locate返回的servant只能用於當前請求,也就是說Ice run time不會把這個servant增加到Active Servant Map中。一種常用的實現技術是,在locate中,把每個servant增加到ASM中。這意味著,只有對Ice對象的初次請求會觸發對locate的調用;自此之後,與Ice對象對應的servant就可以在ASM中找到,Ice run
Time of Update: 2018-12-04
今天忽然有所感觸。幾年來,我的學習方法一直都在被自己懷疑著。學習的效果一直不好,可我幾乎不能確定不知道自己的錯出在哪裡。 無意間看了一篇文章,說是做讀書筆記有很多好處...我忽然間有點醒悟,我大學那麼多年真的沒做過什麼筆記呀。高中的時候可是每天都有的,原來不知不覺中已經丟失了這個好習慣... 大學三年來,每天上課都有點弔兒郎當。見老師講的是ppt,想著到時複習的時候也有ppt參考,何必動手做筆記,多此一舉呢?見到有些同學在奮筆疾書,一絲不苟地記筆記的樣子時,心裡還有點不以為然。
Time of Update: 2018-12-04
判斷cell內容為空白, 可以這樣實現:if(ui->tableWidget->item(i,j)==NULL|| //判斷指向該cell的指標是否為空白 (ui->tableWidget->item(i,j)&& ui->tableWidget->item(i,j)->text()==tr(""))
Time of Update: 2018-12-04
排序演算法對於面試來說還是比較重要的...溫習一下... int partition(int A[],int left,int right) //其中的一趟排序{int p=(left+right)/2;int temp=A[right]; //將選中的標準值放到數組末尾A[right]=A[p];A[p]=temp;int a1=left,a2=right-1;while(a1<a2){while(A[a1]<A[right]){a1++;}
Time of Update: 2018-12-04
首先是容器分類:
Time of Update: 2018-12-04
轉載自:http://blog.sina.com.cn/s/blog_46ed82810100ch8h.html 當頻繁地用malloc申請記憶體,然後再用free釋放記憶體時,會存在兩個主要問題。第一個問題是頻繁的分配釋放記憶體可能導致系統記憶體片段過多;第二個問題是分配釋放記憶體花費的時間可能比較多(這個問題不太明顯)。這個時候我們就可以考慮使用記憶體池了。 最樸素的記憶體池思想就是,首先你向系統申請一塊很大的記憶體(這塊記憶體因為很大,以致於我們常稱它為memory
Time of Update: 2018-12-04
索引用於在查詢時提高效率之用。可以為每張表的某個欄位定義索引來提高在該欄位上的查詢效率。由於資料庫要處理的資料量非常大,而記憶體因為價格昂貴,而容量有限,且必須滿足一定的即時性,因而對其中的資料的儲存及索引方式進行研究,找出有效資料群組織方式是非常有必要的。磁碟資料庫系統的典型的索引技術是B-tree索引。B-tree結構的主要目的是減少完成資料檔案的索引尋找所需要的磁碟I/O的數量。B-tree通過控制節點內部的索引值達到這個目的,在節點中包含儘可能多的索引條目(增加一次磁碟I/O可以訪問的索