交叉编译ARM版FBReader运行之后出现 - Program received signal SIGSEGV, Segmentation fault
使用GDB跟踪了一下,果然有所发现。
现象:
Program received signal SIGSEGV, Segmentation fault.
0x403815a4 in ftell () from /lib/libc.so.6
(gdb) info stack
#0 0x403815a4 in ftell () from /lib/libc.so.6
#1 0x40122524 in ZLUnixFileInputStream::offset() const ()
from /usr/lib/libzlcore.so.0.10
#2 0x400c5704 in ZLInputStreamDecorator::open() ()
from /usr/lib/libzlcore.so.0.10
#3 0x001149b0 in ?? ()
#4 0x001149b0 in ?? ()
原因:libc.so.6中的函数ftell() 出错,根本原因是此处的myFile在某些时候为NULL
分析:修改ZLUnixFileInputStream::offset(),将ftell(myFile)改为0
*强 注* :修改此处引来另外一个问题,可能导致很多格式的书无法打开,例如epub,pdb,prc等;
原因是很多文件是需要offset的,尤其是格式比较正规的文档.
此处正确的修改应为:
long pos = 0;
if(myFile != NULL) {
pos = ftell(myFile);
}
return myNeedRepositionToStart ? 0 : pos;
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jjl_china/archive/2010/01/18/5209533.aspx
分享到:
相关推荐
包括 bzip2-1.0.5 expat-2.0.1 liblinebreak-1.2 zlib-1.2.3 curl-7.19.7 fribidi-0.10.9 sqlite-3.6.21 fbreader-0.12.1就自己去http://www.fbreader.org下载啦!
FBReader0.99.18编译通过的java代码,方便初学者使用,因为从官网上下来的代码加入工程不可以用,还要经过配置,里面还有生成的apk
已编译好的fbreader功能,用eclipse打开即可。配合文章介绍使用。
fbreader编译版,可以直接运行,有做阅读的朋友可以参考一下!
FBReader-解压后直接运行版(AndroidStudio)3
fbreader最新源码下载,引入4个类库即可运行。
由于最大只能上传60M,所以我分了两次上传。
FBReader_AS,1、安卓工作室FBReader2.5.10;2、FBReader发布:.zip
FBReader-解压后直接运行版(AndroidStudio)2
epub阅读器FBReader,需要就拿去集成到你的项目中吧
FBReader 是一种快速且高度可定制的电子书阅读器,适用于运行 Android OS 的设备(支持 1.5 或更高版本,建议 2.0 或更高版本)。 FBReader Premium App 的免费版本是标准版本,具有付费版本的所有功能。唯一的区别...
fbreader7.5源代码 for android
fbreader 支持txt 看了就知道了
FBReader 2.5.9 android studio 安卓,从git上下载改为android studio工程,so文件已经编译完成,有需求的朋友可以下载
FBReader 最新不稳定版本
能运行的android studio版本的FBReader源码,gradle配置,classpath 'com.android.tools.build:gradle:3.1.4',distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip。
关于配置android fbreader开发环境。
FBReader是一个开源电子书阅读器,此文件为该项目的源代码