GNU通用公共许可证错误?

时间:2011-01-17 09:52:49

标签: c++ boost serial-port gnu

我开发了一个程序,它利用串行编程从串口读写,并将值放在Ubuntu环境下的数据库中。最近,我使用boost lib添加了一些功能来过滤读取功能等。但是当我运行程序时,比如在15-20分钟之后,我得到了分段错误。 当我检查我在程序中定义的日志文件时,我得到了以下行。我不知道究竟是什么。有人可以指导我。

a copy of the GNU General Public License          along with this
     

方案;如果没有,请写信给Free   Software Foundation,Inc.,59   Temple Place,Suite 330,Boston,MA   “,”NU通用公共许可证
  以及这个计划;如果没有,写   自由软件
  基金会,公司,59 Temple Place,   Suite 330,Boston,MA“,”e
  以及这个计划;如果没有,写   自由软件
  基金会,公司,59 Temple Place,   Suite 330,Boston,MA“,”ram;如果不,   写信给自由软件
  基金会,公司,59 Temple Place,   Suite 330,Boston,MA“,”e free   Software Foundation,Inc。,   59 Temple Place,Suite 330,Boston,MA   “,”,公司,59 Temple Place,   Suite 330,Boston,MA“,”ace,Suite   330,Boston,MA“,”MA“,”“,”“,”
  “,”HUB-ARM“)

谢谢和问候, SamPrat。

2 个答案:

答案 0 :(得分:6)

简单的回答。你的程序是segfaulted。这意味着它不再有效,而且表现得很糟糕。

在这种情况下,它开始打印出一个字符串(可能没有正确终止),并继续打印出程序存储器。你可能已经包含了很长的GNU GPL许可文本。 segfaulted程序打印其中一些字符串的可能性很高。

检查您的内存分配,字符串等。您正面临与内存相关的错误。

答案 1 :(得分:2)

我的猜测,

您正在打印/使用未终止的字符串。当你来打印它时,它会不断打印每个字符,直到达到'/ 0'或SEGFAULT :),GPL许可证文本恰好在正确的位置。