資源簡介
leveldb 源碼,源于google 官方github 源碼,解壓縮即可

代碼片段和文件信息
/*?Copyright?(c)?2011?The?LevelDB?Authors.?All?rights?reserved.
???Use?of?this?source?code?is?governed?by?a?BSD-style?license?that?can?be
???found?in?the?LICENSE?file.?See?the?AUTHORS?file?for?names?of?contributors.?*/
#include?“leveldb/c.h“
#include?“leveldb/options.h“
#include?“port/port.h“
#include?
#include?
#include?
#include?
#include?
#include?
using?leveldb::ValueType;
struct?leveldb_keymetadata_t??{?leveldb::KeymetaData???????rep;?};
const?char*?phase?=?““;
static?char?dbname[200];
static?leveldb::ExpiryTimeMicros?gStartTime;
static?void?StartPhase(const?char*?name)?{
??fprintf(stderr?“===?Test?%s\n“?name);
??phase?=?name;
}
static?const?char*?GetTempDir(void)?{
????const?char*?ret?=?getenv(“TEST_TMPDIR“);
????if?(ret?==?NULL?||?ret[0]?==?‘\0‘)
????????ret?=?“/tmp“;
????return?ret;
}
#define?CheckNoError(err)???????????????????????????????????????????????\
??if?((err)?!=?NULL)?{??????????????????????????????????????????????????\
????fprintf(stderr?“%s:%d:?%s:?%s\n“?__FILE__?__LINE__?phase?(err));?\
????abort();????????????????????????????????????????????????????????????\
??}
#define?CheckCondition(cond)????????????????????????????????????????????\
??if?(!(cond))?{?????????????????????????????????????????????????????\
????fprintf(stderr?“%s:%d:?%s:?%s\n“?__FILE__?__LINE__?phase?#cond);?\
????abort();????????????????????????????????????????????????????????????\
??}
static?void?CheckEqual(const?char*?expected?const?char*?v?size_t?n)?{
??if?(expected?==?NULL?&&?v?==?NULL)?{
????//?ok
??}?else?if?(expected?!=?NULL?&&?v?!=?NULL?&&?n?==?strlen(expected)?&&
?????????????memcmp(expected?v?n)?==?0)?{
????//?ok
????return;
??}?else?{
????fprintf(stderr?“%s:?expected?‘%s‘?got?‘%s‘\n“
????????????phase
????????????(expected???expected?:?“(null)“)
????????????(v???v?:?“(null)“));
????abort();
??}
}
static?void?Free(char**?ptr)?{
??if?(*ptr)?{
????free(*ptr);
????*ptr?=?NULL;
??}
}
static?void?CheckGet(
????leveldb_t*?db
????const?leveldb_readoptions_t*?options
????const?char*?key
????const?char*?expected)?{
??char*?err?=?NULL;
??size_t?val_len;
??char*?val;
??val?=?leveldb_get(db?options?key?strlen(key)?&val_len?&err);
??CheckNoError(err);
??CheckEqual(expected?val?val_len);
??Free(&val);
}
static?void?CheckIter(leveldb_iterator_t*?iter
??????????????????????const?char*?key?const?char*?val)?{
??size_t?len;
??const?char*?str;
??str?=?leveldb_iter_key(iter?&len);
??CheckEqual(key?str?len);
??str?=?leveldb_iter_value(iter?&len);
??CheckEqual(val?str?len);
}
//?Callback?from?leveldb_writebatch_iterate()
static?void?CheckPut(void*?ptr
?????????????????????const?char*?k?size_t?klen
?????????????????????const?char*?v?size_t?vlen)?{
??int*?state?=?(int*)?ptr;
??CheckCondition(*state?2);
??switch?(*state)?{
????case?0:
??????CheckEqual(“bar“?k?klen);
??????CheckEqual(“b“?v?vlen);
??????break;
????case?1:
??????CheckEqual(“box“?k?klen);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-03-16?20:21??leveldb-develop\
?????文件?????????150??2017-03-16?20:21??leveldb-develop\.gitignore
?????文件??????????83??2017-03-16?20:21??leveldb-develop\.gitmodules
?????文件??????????93??2017-03-16?20:21??leveldb-develop\.travis.yml
?????文件?????????193??2017-03-16?20:21??leveldb-develop\AUTHORS
?????文件????????3153??2017-03-16?20:21??leveldb-develop\BASHO_RELEASES
?????文件????????1484??2017-03-16?20:21??leveldb-develop\LICENSE
?????文件????????6834??2017-03-16?20:21??leveldb-develop\Makefile
?????文件?????????509??2017-03-16?20:21??leveldb-develop\NEWS
?????文件????????3092??2017-03-16?20:21??leveldb-develop\README
?????文件????????1713??2017-03-16?20:21??leveldb-develop\README.GOOGLE
?????文件?????????494??2017-03-16?20:21??leveldb-develop\TODO
?????文件????????7735??2017-03-16?20:21??leveldb-develop\build_detect_platform
?????目錄???????????0??2017-03-16?20:21??leveldb-develop\db\
?????文件????????3799??2017-03-16?20:21??leveldb-develop\db\builder.cc
?????文件????????1247??2017-03-16?20:21??leveldb-develop\db\builder.h
?????文件???????18150??2017-03-16?20:21??leveldb-develop\db\c.cc
?????文件???????18218??2017-03-16?20:21??leveldb-develop\db\c_test.c
?????文件???????10708??2017-03-16?20:21??leveldb-develop\db\corruption_test.cc
?????文件???????29994??2017-03-16?20:21??leveldb-develop\db\db_bench.cc
?????文件???????73668??2017-03-16?20:21??leveldb-develop\db\db_impl.cc
?????文件????????9091??2017-03-16?20:21??leveldb-develop\db\db_impl.h
?????文件????????9620??2017-03-16?20:21??leveldb-develop\db\db_iter.cc
?????文件?????????871??2017-03-16?20:21??leveldb-develop\db\db_iter.h
?????文件???????60276??2017-03-16?20:21??leveldb-develop\db\db_test.cc
?????文件????????9656??2017-03-16?20:21??leveldb-develop\db\dbformat.cc
?????文件???????12988??2017-03-16?20:21??leveldb-develop\db\dbformat.h
?????文件????????3994??2017-03-16?20:21??leveldb-develop\db\dbformat_test.cc
?????文件????????8899??2017-03-16?20:21??leveldb-develop\db\filename.cc
?????文件????????4066??2017-03-16?20:21??leveldb-develop\db\filename.h
?????文件????????6070??2017-03-16?20:21??leveldb-develop\db\filename_test.cc
............此處省略168個文件信息
- 上一篇:蟻群聚類算法研究綜述
- 下一篇:利用qt creator 實現的mp3的功能,有界面
評論
共有 條評論