原创 在linux下使用libunique實現單實例

Hello! Here ‘s a fairly simple example of how to create single instance Applications with LibUnique and Gtk +. I took

原创 Making C++ ready for the desktop

Author: Waldo Bastian <[email protected]> Date: May 3, 2001 Version: 1.1 (See bottom for change history) In this paper I

原创 static_cast、dynamic_cast、reinterpret_cast、和const_cast

關於強制類型轉換的問題,很多書都討論過,寫的最詳細的是C++ 之父的《C++ 的設計和演化》。最好的解決方法就是不要使用C風格的強制類型轉換,而是使用標準C++的類型轉換符:static_cast, dynamic_cast。標準C++中

原创 深入C++拷貝構造函數

先從我最近遇到的一個詭異的現象說起,來看一段代碼: #include <iostream> using namespace std; class test { public:     test(){}    

原创 關於const重載

對於基本數據類型,函數的參數前面加不加const都是一樣的,但對於指針和引用,參數前面加const與不加const是不同類型的參數,因此是重載函數。  int comp(int a) { return a; } int comp(con

原创 刪除字符串中間的空格

#include <stdio.h> void rmblank(char* str) { if(!str) return ; char* f=str; char* r=str; while((*f=*r++,(*f)=='

原创 python實現二叉樹

        最近對python比較感興趣,基本看完了網上流傳甚廣的 簡明python教程,自己也試着玩了玩,感覺python確實是一門優雅的語言。         前幾天在網上看到一個python的二叉樹代碼,也學着寫了寫,增加了對二

原创 gcc與obj文件,動態鏈接文件和ELF文件

1、obj文件       程序員編寫程序,其實就是編寫出一個2進制(binary)文件。假如我們聲明一個變量char c,也就是聲明需要一個8bit的空間,那麼就需要向系統聲明豫留8bit的空間,怎麼做到這一點呢?就是編譯一個特殊的2進

原创 linux啓動加速

linux啓動加速主要有三個工具:prelink readaheab preload. prelink就是預連接程序的動態連接庫,達到提升軟件啓動速度,甚至減少程序運行時所需的內存。 安裝:apt-get install prelink

原创 菜鳥淺談Linux內核編譯過程...

http://bbs.chinaunix.net/thread-2264758-1-1.html 菜鳥編譯Linux內核                      雙眼皮的豬            菜鳥俺,最近研究了一下Linux內核的編

原创 C++帶有虛函數的單繼承類的構造過程探索,msvc和gcc編譯器

http://saturnman.blog.163.com/blog/static/557611201081421344244/ 對於C++帶於虛函數的單繼承類的構造過程我原來寫過一篇日誌,感覺還有一些不夠明確,這裏通過調式器再看一

原创 五種開源協議的比較(BSD,Apache,GPL,LGPL,MIT) – 整理

http://www.awflasher.com/blog/archives/939 當Adobe、Microsoft、Sun等一系列巨頭開始表現出對”開源”的青睞時,”開源”的時代即將到來! 最初來自:sinoprise.com/

原创 免費SVN、Git項目託管主機及網站介紹

Unfuddle 沒有聰明的思維,就象沒有臘燭的燈籠。200MB的免費空間,界面友愛,特點雄厚,支撐Git,但只能一個賬戶一個用戶並且只容許一個項目,付費辦事相對來說價格偏高 CodeSpaces 內容充分的生命就是長久的生命,我們要以此

原创 ELF的GOT和PLT以及PIC

http://zhiwei.li/text/2009/04/elf%E7%9A%84got%E5%92%8Cplt%E4%BB%A5%E5%8F%8Apic/ ELF 格式的共享庫使用 PIC 技術使代碼和數據的引用與地址無關,程序可

原创 prelink princeple

預鏈接(Prelink)利用這一點,修改ELF共享庫和二進制文件,將鏈接信息加入到可執行文件中以簡化動態鏈接重定位,從而使程序啓動加快。預鏈 接首先蒐集要預鏈接的ELF二進制文件及其所依賴的共享庫,爲每個庫分配唯一的虛擬空間位置,並將共享