这几天需要对一个百万量级语料库进行统计,为了充分利用实验室的服务器优势,不得不换用Linux上的C++编程。以前经常用C#进行编程,C++也学过,但C++编程只是学习性质,之多写个简单的数据结构。这次真正做个统计遇到了很多问题。
由于数据量比较大,再读取过程中遇到了”Segmentation fault“错误。在此总结一下,希望对大家有所帮助
1:Linxu程序的结构
在Linux系统下,程序是个普通的可执行文件,用size命令可以列出文件的结构。比如:size read ,现实以下数据
text data bss dec hex filename
3905 364 152 4421 1145 read
其中,text是代码区(text segment),用来存放CPU执行的指令,代码区是共享的。
dada是数据区(data segment),