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/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++) 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 4e5754a..925f5e4 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());