From ed39e558bcc9ea06f6630cdc7ac835b7a5e91440 Mon Sep 17 00:00:00 2001 From: wyy Date: Tue, 18 Mar 2014 11:51:04 -0500 Subject: [PATCH 1/2] adapt_to_gxx44 --- ChangeLog.md | 4 ++++ README.md | 2 +- src/KeywordExtractor.hpp | 2 +- src/Trie.hpp | 3 ++- src/server.cpp | 3 ++- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 8e313d2..616cc1d 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,7 @@ +## v2.3.5 is coming + +1. 适配低级版本的`g++`,已在`g++ 4.4.7`上测试通过。 + ## v2.3.4 1. 修改了设计上的问题,删除了`TrieManager`这个类,以避免造成一些可能的隐患。 diff --git a/README.md b/README.md index 98e5307..f99b4e4 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ### 依赖 -* g++ (version >= 4.6 recommended); +* g++ (version >= 4.4.7 recommended); * cmake (version >= 2.8 recommended); ### 下载和安装 diff --git a/src/KeywordExtractor.hpp b/src/KeywordExtractor.hpp index 28b1e0e..4bb1fee 100644 --- a/src/KeywordExtractor.hpp +++ b/src/KeywordExtractor.hpp @@ -84,7 +84,7 @@ namespace CppJieba { if(_stopWords.end() != _stopWords.find(itr->first)) { - itr = wordmap.erase(itr); + wordmap.erase(itr++); continue; } diff --git a/src/Trie.hpp b/src/Trie.hpp index b06e721..36df9d7 100644 --- a/src/Trie.hpp +++ b/src/Trie.hpp @@ -77,8 +77,9 @@ namespace CppJieba _minLogFreq = MAX_DOUBLE; _setInitFlag(false); } - Trie(const string& filePath): Trie() + Trie(const string& filePath) { + Trie(); _setInitFlag(init(filePath)); } ~Trie() diff --git a/src/server.cpp b/src/server.cpp index 95d9306..521743d 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -84,7 +84,8 @@ bool run(int argc, char** argv) } int pid = getpid(); - string pidStr = to_string(pid); + string pidStr; + string_format(pidStr, "%d", pid); loadStr2File(val.c_str(), ios::out, pidStr); LogInfo("write pid[%s] into file[%s]", pidStr.c_str(), val.c_str()); From 498bc431f41cedce66e6051e90f0be5743df92dc Mon Sep 17 00:00:00 2001 From: wyy Date: Wed, 19 Mar 2014 23:47:46 -0700 Subject: [PATCH 2/2] rm try..catch in HMMSegment --- src/HMMSegment.hpp | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/src/HMMSegment.hpp b/src/HMMSegment.hpp index 6deb52c..bd3a1df 100644 --- a/src/HMMSegment.hpp +++ b/src/HMMSegment.hpp @@ -136,21 +136,10 @@ namespace CppJieba size_t now, old, stat; double tmp, endE, endS; - try - { - path = new int [XYSize]; - weight = new double [XYSize]; - } - catch(const std::bad_alloc&) - { - LogError("bad_alloc"); - return false; - } - if(NULL == path || NULL == weight) - { - LogError("bad_alloc"); - return false; - } + path = new int [XYSize]; + assert(path); + weight = new double [XYSize]; + assert(weight); //start for(size_t y = 0; y < Y; y++)