ccache發布0.2版本
ccache發布0.2版本,主要改動:
cmpfun函數指針去掉了size參數, 因為我認為這個參數應該由使用該cache的用戶去關心,見test/testcache.c中的示例代碼
加入兩個api:update_or_insert_data和visit_cache
同時還有unlock_cache api,因為某些使用C++的用戶如果使用了C++的異常處理,在調用ccache中的API時拋出異常將導致ccache沒有解鎖
, 以后就不能再使用了, 提供這個API是為了在拋出異常的時候用戶自己釋放鎖
另外,這個版本還修正了原來的兩個低級錯誤:第一個是在ccache.h中加入了對__cplusplus宏的處理,如果不加入這個宏的處理,那么如果用gcc編譯了
ccache,而用g++編譯鏈接生成的靜態庫將導致鏈接錯誤;第二個將makefile中的
testcache:test/testcache.c $(OBJS)
$(CC) -o $(TESTCACHE) $(OBJS) $(TESTDIR)/*.c -L$(LIB_DIR) -l$(LIBNAME) $(CFLAGS) $(INCLUDE) -lpthread
改成了:
testcache:test/testcache.c $(LIB)
$(CC) -o $(TESTCACHE) $(TESTDIR)/*.c -L$(LIB_DIR) -l$(LIBNAME) $(CFLAGS) $(INCLUDE) -lpthread
另外,由于與samba的一個開源項目有名字沖突,下一個版本開始可能要使用這個項目在googlecode注冊時的完整項目名稱:commoncache.
cmpfun函數指針去掉了size參數, 因為我認為這個參數應該由使用該cache的用戶去關心,見test/testcache.c中的示例代碼
加入兩個api:update_or_insert_data和visit_cache
同時還有unlock_cache api,因為某些使用C++的用戶如果使用了C++的異常處理,在調用ccache中的API時拋出異常將導致ccache沒有解鎖
, 以后就不能再使用了, 提供這個API是為了在拋出異常的時候用戶自己釋放鎖
另外,這個版本還修正了原來的兩個低級錯誤:第一個是在ccache.h中加入了對__cplusplus宏的處理,如果不加入這個宏的處理,那么如果用gcc編譯了
ccache,而用g++編譯鏈接生成的靜態庫將導致鏈接錯誤;第二個將makefile中的
testcache:test/testcache.c $(OBJS)
$(CC) -o $(TESTCACHE) $(OBJS) $(TESTDIR)/*.c -L$(LIB_DIR) -l$(LIBNAME) $(CFLAGS) $(INCLUDE) -lpthread
改成了:
testcache:test/testcache.c $(LIB)
$(CC) -o $(TESTCACHE) $(TESTDIR)/*.c -L$(LIB_DIR) -l$(LIBNAME) $(CFLAGS) $(INCLUDE) -lpthread
另外,由于與samba的一個開源項目有名字沖突,下一個版本開始可能要使用這個項目在googlecode注冊時的完整項目名稱:commoncache.
posted on 2008-04-02 12:00 那誰 閱讀(2194) 評論(1) 編輯 收藏 引用 所屬分類: 算法與數據結構 、ccache