Time of Update: 2018-12-04
1)使用wsdl2h命令,從wsdl檔案中提取web service的資訊到.h檔案中 wsdl2h c:/gsoaptemp/DataService.wsdl我的電腦是WinXP
Time of Update: 2018-12-04
Atom在list中的不可分割的元素稱為atom,比如前面一篇中的數字,單詞,運算子號等。一個list可以只有一個元素,或者一個元素都沒有。Empty list寫成
Time of Update: 2018-12-04
Windows下,每個線程都可以擁有一個訊息佇列,通常UI線程預設就擁有自己的訊息佇列,Work Thread需要自己調用PeekMessage來建立自己的訊息佇列。 訊息是一個資料結構,下面是它的定義:typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD
Time of Update: 2018-12-04
花了差不多一天時間,把SGI STL的string實現對著《C++標準程式庫》看完。現在稍總結一下。
Time of Update: 2018-12-04
也許是進度太快,前面的章節沒有很好的把握,我在讀第10章的內容的時候,感覺有很多知識點還沒有清楚,而且這章結構組織沒之前的清楚,甚至可以說有點混亂。再次回顧可以加深之前內容的掌握,在這裡有一個關鍵的點就是——完完整整的把課本的代碼走一遍,理解怎麼寫為什麼寫這些代碼。 對於本章的代碼,也是老問題了,此書作者可沒有花時間在講解代碼調試上。由於年代久遠,按書上說的nmake -f
Time of Update: 2018-12-04
本文內容來自:https://github.com/technomancy/leiningen/blob/preview/doc/TUTORIAL.md不過只描述最簡單的部分,不會冗長而讓人知難而退。運行下面的命令,就可建立第一個工程$ lein new project1Generating a project called project1 based on the 'default' template.To see other templates (app, lein plugin,
Time of Update: 2018-12-04
在project1工程檔案中添加一個clj-http依賴:(defproject project1 "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"}
Time of Update: 2018-12-04
需求如題,現在首先明白,最新版本的emacs內建了muse-latex2png.el檔案。該程式會將latex轉換成png,然後顯示在html圖片上。在~/.emacs中添加:(require 'muse-latex2png)但是以來另一個程式轉成png,在Ubuntu下安裝:apt-get install dvipng好了,開啟Muse文檔,輸入如下標記:<latex>\[E =
Time of Update: 2018-12-04
使用到strtok來做字串分割,看了一下代碼,有點意思,分析學習一下。#ifdef _SECURE_VERSION#define _TOKEN *context#else /* _SECURE_VERSION */#define _TOKEN ptd->_token#endif /* _SECURE_VERSION */#ifdef _SECURE_VERSIONchar * __cdecl strtok_s ( char * string,
Time of Update: 2018-12-04
效能最佳化Linux下程式效能分析工具gprof gprof 安裝在Linux 系統的 /usr/bin 目錄下. 它能剖析你的程式,並分析出程式的哪一個部分在執行時最費時間. gprof 將告訴你程式裡每個函數被調用的次數和每個函數執行時所佔時間的百分比. 你如 果想提高你的程式效能的話這些資訊非常有用. 為了在你的程式上使用 gprof, 你必須在編譯器時加上 -pg 選項. 這將使程式在每次 執行時產生一個叫 gmon.out 的檔案. gprof
Time of Update: 2018-12-04
現在來看一下前面譯文中碰到的代碼:第一個是nil, 和Java的null值相同,和false一樣可以表達條件判斷不為true的情況。下面是解釋:nilnil is a possible value of any data type in Clojure. nil has the same value as Java null. The Clojure conditional system is based around nil and false, with nil and false
Time of Update: 2018-12-04
今天一個service即將發布之前,用壓力測試試了一下,很快就segmentation fault,嚇了一身冷汗。三小時候確定是因為最近幾天引入boost::ptree來將解析json的時候出問題。重新自己實現解析代碼後,問題解決。單獨開一個工程,在多線程的情況下調用,錯誤重現。下面的代碼時不時就會crash。class testBind {public: void testFunc() { cout<<"ok"<<endl;
Time of Update: 2018-12-04
第10章是COM處理序間通訊和遠程通訊的關鍵章節,本來按理來說,應該說清楚兩個進程是怎麼樣通訊的,講到最終的API使用上面去,甚至分析類比API的原理代碼,才是我理解的所謂“技術內幕”,但很失望,作者沒有這麼做,而是避而不談。 “雖然讀者不需要知道LPC的細節,但知道如何用IDL,來描述自己的介面卻是必不可少的。”
Time of Update: 2018-12-04
今天看到《windows網路編程》第二版裡面有一個函數, 在第一次按照說明使用的時候沒有成功. 以下是對應的技術說明. #include <winsock2.h> int WSAAPI WSAEnumProtocols ( LPINT lpdwProtocols, LPWSAPROTOCOL_INFO lpProtocolBuffer, LPDWORD lpdwBufferLength);
Time of Update: 2018-12-04
這節介紹如何將Clojure程式打包成一個可以執行的standalone Java程式。也就是所有的依賴都已經在jar包中,並且Main-Class manifest 也被正確設定。首先修改代碼core.clj:(ns project1.core (:gen-class))(defn -main "I don't do a whole lot." [& args] (println "Hello, World!" ) (println args) (println
Time of Update: 2018-12-04
為瞭解決動態訪問多種資料庫的問題,我們需要使用建立型模式。ADO.NET2.0提供了基於Singleton、AbstractFactory和Factory Method模式的工廠類。現在我來研究一下。ADO.NET主要包含串連類和非串連類。這些類又被劃分為四大系列:odbc,ole db,oracle,sql
Time of Update: 2018-12-04
http://www.codeproject.com/useritems/OpenSource_VC_MFC.aspIntroductionList of some of the best Open Source projects written in VC++/MFC.BackgroundCodeproject has the best source code repository for VC++ developers. But another site Sourceforge.net
Time of Update: 2018-12-04
本文實現整數的四則混合混算。比如:輸入(5+8*4+7)*9-3*(13+2*6),返回計算結果為321。 思路:正向掃描運算式,使用兩個棧分別儲存整數和符號,有括弧的先計算括弧中的值。遇到乘除法先計算。經過以上計算後得到最後的式子為只有加減法的無括弧式子。再計算最後結果。 流程描述:1. 掃描字元t。2. 若為’\0’,跳到4;若為’*/+)’,入符號棧;若為’-‘,轉化為(-1)*,分別入數字棧和符號棧;若為數字’0-9’,向前找到不是’0-9’的符號,轉化為整數,入數字
Time of Update: 2018-12-04
題目:定義字串的左旋轉操作:把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函數,要求對長度為n的字串操作的時間複雜度為O(n),空間複雜度為O(1)。思路:其實這種題目很好解。直接對每個位置迭代求資料來源位置就可以了。有另外一些解法,比如交換法,雙反轉法,遞迴法,對於解此題目沒什麼高效的解法。我認為以下解法完全滿足題目要求,是最佳的。void rotate_left_string(char * src, int m){int n =
Time of Update: 2018-12-04
不管是用什麼開發環境,先要熟悉基本的命令列的使用方式。本文參考自官方網站:http://clojure.org/downloads首先確保已經安裝了JDK5以上版本。然後下載Clojure1.4版本的release包: http://repo1.maven.org/maven2/org/clojure/clojure/1.4.0/clojure-1.4.0.zip解壓後,進入clojure-1.4.0目錄,執行下面的操作:java -cp clojure-1.4.0.jar