最近寫blog的計劃

        自五月份以來,忙於論文修改和答辯準備工作,一直無瑕寫blog。今天收到導師對我寫的英文論文的修改版,這兩天要不停地修改。同時要忙於租房子,即將開始工作了。       為了擠出時間寫感興趣的blog,和提高自己學習的時間。最近想寫如下兩個相關的主題。     其於8方塊遊戲的幾種演算法設計與分析,其中以啟發學習法搜式演算法為主進行介紹。    翻譯一篇關於在Java SE中使用MVC的文章。   目前就這兩個任務,明天還要看論文,寫論文。  要回去睡一覺拉!  

CTreeCtrl變數的遍曆

 樹是一種十分重要的資料結構。在程式設計中,我們經常用樹來組織資料。對於樹的遍曆也是一種常規的運算,下面提供了兩個演算法。前面一個只是簡單的遍曆了所有的結點,後面一個則可以根據傳入條件返回相應的結點。/* * 功能:遍曆CTreeCtrl所有結點 * 參數:tree-要遍曆的CTreeCtrl控制項變數、hItem-開始變數的根結點(如果要變數整棵樹,則:hItem = tree.GetRootItem()) * 返值:void */void TravelItem(CTreeCtrl&

略談系統架構的可擴充性

系統的可擴充性是衡量一個軟體架構設計的好壞的重要標準之一。一個系統設計良好的架構往往能夠在不斷增加或變化的需求面前,仍然儲存清晰的架構結構。這往往要求架構師在設計架構時預見到各種將來會出現的需求,而使現有的系統僅憑很小的變更代價或甚至不做任何改動就能適應。也就是說,一個好的系統應當是一個柔性的系統。就像中國武學中通常所說的,即“無招勝有招”、“以不變應萬變”。當然,一個系統的可擴充性越強,或者說柔性程度越高,往往付出的成本也會越大。事實上一個產品或者項目通常也不允許一個架構師作出接近完美的系統,

Defect(1) 管道死結

作者:林海楓網址:http://blog.csdn.net/linyt/archive/2008/09/26/2983960.aspx[注]:本文著作權有作者擁有,可以自由轉載,但不能部分轉載;請匆用於任何商業用途 隨著工作壓力和項目時間的逼近,我想會有很多程式員寫的出代總會有這樣或那樣的bug,更有甚者可以隠藏幾個月或一年,到爆發之時損失卻是非常慘重。誠然,有代碼之處,就有

mtrace的使用

對於記憶體溢出之類的麻煩可能大家在編寫指標比較多的複雜的程式的時候就會遇到。Debug起來也是比較累人。其實linux系統下有一個使用的工具可以幫忙來調試的,這就是mtrace。Mtrace主要能夠檢測一些記憶體配置和泄漏的失敗等。下面我們來學習一下它的用法。使用mtrace來偵錯工具有4個基本的步驟,需要用到GNU C

屏蔽基於對話方塊程式ESC鍵

方法一:重載虛函數,BOOL CEvaluateDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)  return true; return

關於控制項的狀態切換

         

雙色球號碼產生器

#include<stdio.h>#include<stdlib.h>#include<time.h>  int main(){    int r,b[6];    int tmp,j,i=0;    srand(time(NULL));    b[0]=rand()%33;    b[1]=rand()%33;    b[2]=rand()%33;    b[3]=rand()%33;    b[4]=rand()%33;    b[5]=rand()%33

偏離與糾正

    在一定程度上,軟體架構的設計與實現之間或多或少會存在一些偏差,通常的做法是在這兩個活動之間進行交替的調整,並最終達到一個平衡點。但是也有些時候,當這兩者之間的偏差較大,以至於如果修改既有的架構或實現,那麼會造成項目成本的急劇上升,在這種情況下,往往是一個項目成敗的關鍵時刻。一方面,要論證原有架構的可行性,另一方面,我們也要在取捨既有代碼的問題上進行權衡。雙方切不可進行盲目的妥協,否則項目很容易偏離正確的方向。儘早察覺出問題所在,並及時地修正這些問題,應當成為每一個軟體從業人員的工作作風。

構造核心常用命令及作用

1.make config核心配置,調用./scripts/Configure按照arch/i386/config.in來進行配置。命令執行完後組建檔案.config,其中儲存著配置資訊。下次在做make config將產生新的.config檔案,原.config被改名為.config.old.2.make dep尋找依存關係。產生兩個檔案.depend, .hdepend。3.make clean清除以前構造核心時所產生的所有目標檔案、模組檔案、核心以及一些臨時檔案等。4.make

Boost 庫的編譯

 Boost是C++的一個準標準庫,由C++標準委員會庫工作群組發起並維護。目前,它主要以C++標準庫的擴充的角色存在。未來的C++標準庫會優先考慮Boost中的優秀的庫,並納入其中。當然,在進入C++標準庫之前,在很多時候,合理地使用Boost能給我們的程式帶來非常簡潔的設計。本文主要是對boost庫的編譯進行了一些介紹。 0.下載從www.boost.org上下載最新的boost源碼壓縮包。寫作本文的時候,最新的發布版本為1.34.1。將下載下來的壓縮包boost_1_34_1.zip(其它

VC中,字串的分割

 想請教下,在VC當中,要重新寫一個 類似 split 的 類該怎麼做?現在的要求是,對一個字串進行分割,並放到數組當中去.基本實現想法如下:定義:char str[256]="123,&456,&789&10"; // 將要被分割的字串 char *pstrBuf[256];// 字串數組,用來存放分開的字串int nBuf; // 表示分成幾段;char parseid[256]=",&" // 分割標識符號函數:void StringParse(char*

擺脫SQL的糾纏

在基於C/S架構以及涉及資料庫的應用系統中,程式員往往會把大量的SQL語句寫在應用程式端。這可能是出於幾個原因,其中之一或許是程式員的心理在起作用,他們往往想用自己熟悉的開發語言來控制整個應用系統,包括資料庫在內。他們一般會認為不使用PL/SQL或者Transact-SQL之類的內嵌的資料庫語言是一件很自然的事情。我確實也在圖書館或者書店看到很多基於執行個體的書籍就是這麼教大家做的。可是在我經曆了一個實際的基於資料庫的項目後,卻發現這實在是一種非常糟糕的系統架構,甚至可以用無藥可救來形容。事實上

vc的split函數的實現

vc的split函數的實現     今天要用到一個split函數,過去在perl中很簡單,可到網上查資料時發現關於vc的split的資料很少。後來久月提供了一個很好的函數strtok,利用這個函數稍加改進就可以是一個非常不錯的split函數。唯一的缺點就是需要提前知道你需要分成多少份,這個對有些人用起來不是很方便。我把改進過的代碼貼出來。#include <string.h> #include <stdio.h> int main(void) {    char

VC++學習

 一些函數:GetDlgItem(int nID):擷取對話方塊上控制項的控制代碼。ShowWindow(int nCmdShow ):設定控制項的顯示、隱藏。GetDlgItemText( int nID, CString& rString ):擷取控制項上的文本並儲存在字串對象中。CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD

volatile的單純語義

 以前我一直認為C的volatile具有一些“平台相關”的語義,比如,與並發訪問相關的柵欄。看來只有C#的volatile才有那樣的語義。MS實現的C編譯器連volatile操作的位置也不再保證,而是保有為了最佳化可以調動其位置的權利。像下面這樣的代碼(VS2010 VC10編譯器):#include <Windows.h>#include <stdio.h>static volatile int a;static volatile int

tcpdump進階用法

Tcpdump進階用法 作者:林海楓http://blog.csdn.net/linyt[*]轉載請註明作者,請匆用於商業用途。在linux下輸入man tcpdump,在manual的開始會看到如下內容: tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ] [ -C file_size ] [ -F file ] [ -i interface ] [ -m module ] [ -M

Thunk for MS Window

    先講一個Windows視窗的問題。眾所周知,Windows視窗API要求註冊視窗,RegisterClass和CreateWindow函數註冊和建立視窗,要在註冊的時候填充WNDCLASSEX結構,寫入自己實現的視窗訊息處理函數,這個處理函數的原型:LRESULT CALLBACK WindowProc( HWND , UINT , WPARAM , LPARAM );

多線程之線程同步Mutex

多線程之線程同步Mutex (功能與CriticalSection相同,保證某一時刻只有一個線程能夠訪問共用資源,但是是核心對象,所以訪問速度要比CriticalSection要慢,但是增加了等待逾時的功能,使用時可以根據實際的情況選擇其一)一 Mutex    互斥對象(mutex)核心對象能夠確保線程擁有對單個資源的互斥訪問權。實際上互斥對象是因此而得名的。互斥對象包含一個使用數量,一個線程ID和一個遞迴計數器。   

MPQ Plugin for Total Commander

一直以來我都用TC而不用Windows的資源管理員的 今天在看MPQ檔案格式, 在StormLib的網站上找到這麼個東西: MPQ Plugin for Total Commander v 1.2.0.53 (1,87 MB) for Win95/98/NT/ME/2000/XP/VistaArchive plugin for Total Commander. Allows you to create, list, extract and change files within MPQ

總頁數: 61357 1 .... 26295 26296 26297 26298 26299 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.