嵌入式linux 中文输入法,集成google输入法的嵌入式中文输入面板
这个异常查了资料,据说是频繁的new和delet造成的,这个代码写的也是飘逸;
bool SpellingTrie::load_spl_trie(FILE *fp) {
if (NULL == fp)
return false;
if (fread(&spelling_size_, sizeof(size_t), 1, fp) != 1)
return false;
if (fread(&spelling_num_, sizeof(size_t), 1, fp) != 1)
return false;
if (fread(&score_amplifier_, sizeof(float), 1, fp) != 1)
return false;
if (fread(&average_score_, sizeof(unsigned char), 1, fp) != 1)
return false;
printf("%s","iii");
if (NULL != spelling_buf_)
delete [] spelling_buf_;
printf("%s","jjj");
spelling_buf_ = new char[spelling_size_ * spelling_num_];
printf("%s","kkk");
if (NULL == spelling_buf_)
return false;
printf("%s","lll");
if (fread(spelling_buf_, sizeof(char) * spelling_size_,
spelling_num_, fp) != spelling_num_)
return false;
return construct(spelling_buf_, spelling_size_, spelling_num_,
score_amplifier_, average_score_);
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
