首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

ARM板下运行fopen函数出错

2012-07-18 
ARM板上运行fopen函数出错代码:char filename[20]test.txtchar buf[100]FILE *fpfp fopen(filenam

ARM板上运行fopen函数出错
代码:
char filename[20]="test.txt";
char buf[100];
FILE *fp;
fp = fopen(filename,"w+b");
memset(buf,0,100);
strcpy(buf,"Hello World!");
int i= fwrite(buf,sizeof(buf),1,fp);
if( i!=-1)
{
  printf("fwrite OK!\n");;
}
fclose(fp);

当我用gcc编译的时候,在LINUX里运行没有问题。可以正常的创建test.txt文件,也写入了相关的内容。
但是我用arm-linux-gcc编译成功了,在ARM板上运行的时候出错:SEGV 
求大神们帮个忙理解一下!万分感谢!

[解决办法]
帮顶,是不是因为fopen是标准函数库,你可以试下底层函数,例如open。
[解决办法]
gdb跟踪下看看哪里SEGV了,另外你file下你的可执行文件看看格式正确不?
[解决办法]
gdb 调试一下,看看具体的报错语句是哪个
[解决办法]
用Linux 库函数 open
[解决办法]
请检查fp是否为null
[解决办法]
你先创建一个text.txt文件,在运行程序试试看……然后再接着分析你的问题
[解决办法]
用gdb调试,板子上跑gdbserver可以通过网口远程调试。
[解决办法]

探讨
引用:

gdb跟踪下看看哪里SEGV了,另外你file下你的可执行文件看看格式正确不?


格式肯定没有问题,确定是交叉编译后的可执行文件。你们说说有没有可能是权限的问题呢?如果真是权限的问题,那要怎么改呢?

热点排行