原创 觀察者模式與Boost.Signals

1)  觀察者模式定義 略,各種設計模式的書上都有定義。   2)  觀察者模式一般實現 觀察者模式一般實現,都是“被觀察者”保存一個“觀察者”的列表,循環這個列表來通知“觀察者”。代碼,其中使用了boost的智能指針shared_ptr

原创 我看過的和想看的C++書籍

(紅色部分爲擁有的書。好想有個書架呀。)   一、純C++:   1、《C++ Primer 第三版》 精讀過很多遍,現在感覺全書拿一個例子來講的這種模式不是很爽。   2、《C++ Primer 第四版》 看過一遍,且有關模板的章節看的

原创 C++反射的一種實現方式

Reflector.h: #pragma once #include <list> class Reflector { public: virtual ~Reflector(); virtual const char* getCl

原创 如何使用多態性數組

1)錯誤的使用多態性數組 詳細請見《More Effective C++》條款3,此處只貼出示例代碼: #include <iostream>#include <string>using namespace std; class B{pu

原创 Solaris Performance and Tools 筆記(未完待續)

分析方法 1.  Monitoring. Using a system to record statistics over time. This data may reveallong term patterns that may be

原创 將在mdb裏執行的結果保存到文件中

例如將在mdb裏執行的結果保存到1.txt中 方法1):使用mdb的日誌功能($>命令): >$>1.txt>::nm 方法2):使用!命令: >::nm!cat>1.txt

原创 Solaris10 GCC bus error 一例

Solaris10 GCC bus error 一例 環境: Solaris10 SPARC GCC 4.4.2 背景: 原先代碼使用CC編譯的,是32位程序。有-O2優化。 現在遷移到GCC下,並改爲6

原创 Linux下C++國際化

有關國際化 應用程序國際化的實質是提供一種機制,使其能根據環境變量或配置文件,來指導程序的行爲。當對新的“國家”進行支持時,不用修改代碼,只修改資源文件就可以實現。 例如,“把LANG設爲C,再用vi打開帶中文的文件,中文顯示亂碼”。就是

原创 使用MDB查看變量的值(2)

使用MDB查看變量的值(2) [email protected]   本節描述使用MDB查看core文件中STL變量的知識   一、目的 在《使用MDB查看變量的值(1)》中,我們 探討了查看變量值的一般方法,但是對於複雜的對象,一點一點的查看內

原创 Solaris下使用MDB查看全局變量的值

假設要查看全局變量m_FmSvcMsgQueue的值 1) 得到m_FmSvcMsgQueue mangle後的值: nm libfm.so|c++filt|grep m_FmSvcMsgQueue [8

原创 [Errno 6] No such device or address: '/dev/tty'

調用流程: CruiseControl-->Ant Project-->Python Pexpect-->ssh   發現有的時候會報[Errno 6] No such device or address: '/dev/tty'。至今沒找

原创 一種定位內存泄露的方法(Solaris)

問題: 客戶測試的鏡像環境出現一個3.8G的core文件,查看堆棧發現是new失敗了導致進程abort。因爲是32位應用程序,應該是所有的heap空間都被用光了,導致new失敗。 推測有幾種可能: 1) 內存泄露導致內存耗盡。 2) 有些

原创 關於在32位系統下使用VMware安裝64位系統的問題

最開始是在XP(32位)下安裝的Solaris10(32位)和SUSE11(64位),當時的CPU是閃龍2500+,VMware的版本是7.0.0-203739 後來換了WIN7(32位),VMware重

原创 什麼跨數據庫,都是浮雲

最近在看《Oracle 9i&10g編程藝術》,裏面介紹了Oracle數據庫和其他數據庫的不同。雖然對作者的一些開發觀點不認同,但是就Oracle數據庫本身來說,讓我全新的認識。 現在的感覺是,什麼跨數據庫,都是浮雲。只能做到SQL語法跨

原创 有關CentOS6的man報錯

1)對於找不到的命令,man會報錯: [jing@CentOS locale]$ man abc Cannot open the message catalog "man" for locale "zh_