CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 5200|回复: 5

Segmentaion falut 线程,System() a33

[复制链接]
发表于 2016-3-13 08:23:16 | 显示全部楼层 |阅读模式
本帖最后由 xiaolonghun1 于 2016-3-15 08:45 编辑

在a33上面编写了一个线程,通过android交叉编译工具的话,
是可以编译通过,并且正常运行的,但是遇到system()函数执行控制台指令的时候,sysmtem()函数里面的内容执行不了。
之前我再a20上面也遇到过真个问题。用android.mk进行编译,通过
android-nkd-r9正常编译通过了,并且能够正常使用。
但是现在尝试着在a33上面进行测试的时候,就出现了段错误。
网上的好多解决斑斑是通过将里面的内容在创建进行的时候,handler函数的时候
用成添加了参数handler()了之后才会出现的这个问题的。
但是现在我是由于换了编译工具了之后,才会出现的这种现象,
不知道是什么原因导致的,初步猜想是编译工具的问题,等到之后
尝试的用nkd-r10测试一下,因为我现在使用的android代码是android4.4.2
的这个源代码


回复

使用道具 举报

 楼主| 发表于 2016-3-15 08:49:00 | 显示全部楼层
pthread_create(&th_count,NULL,thread_count_handle,NULL);
在创建线程的时候,就会报这个错误。Segmentaion falut
用ndk-r10的使用,但是还是还会出现问题。
如果用原生态的arm-linux交叉编译工具的话,不会出现这个问题,
但是就是system()函数不执行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-15 08:53:26 | 显示全部楼层
本帖最后由 xiaolonghun1 于 2016-3-16 16:11 编辑



pthread_create 在创建线程的这个地方,就会报Segmenttaion falut
错误,我以为是编译器的问题,换成r10的,测试了一下也不可以。
用原生态的交叉编译工具的话,可以执行通过,但是system()函数
不执行

也不是编译工具的问题,就是我的这个,通过原生态的
make -C $(KDIR)M=$(PWD) modules ARCH=arm CROSS_COMPILE=/home/xiaolonghun/usr/local/arm/4.6.3/bin/arm-linux-gnueabi-
他是能够正常编译通过并且执行。但是就是这个交叉编译工具对于你所写的代码做了进一步优化,
以至于一些不是治具变量的,main()函数里面的变量也被认为成了全局变量了。
把一些全局变量拎出来,放到main()函数外面就不会出现这个问题了。
出现段错误,主要还是你的访问到一些全局变量,而你所定义的变量是局部变量所导致的。
问题解决了,结贴。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-15 08:53:48 | 显示全部楼层



pthread_create 在创建线程的这个地方,就会报Segmenttaion falut
错误,我以为是编译器的问题,换成r10的,测试了一下也不可以。
用原生态的交叉编译工具的话,可以执行通过,但是system()函数
不执行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-15 08:53:49 | 显示全部楼层



pthread_create 在创建线程的这个地方,就会报Segmenttaion falut
错误,我以为是编译器的问题,换成r10的,测试了一下也不可以。
用原生态的交叉编译工具的话,可以执行通过,但是system()函数
不执行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-15 08:53:49 | 显示全部楼层



pthread_create 在创建线程的这个地方,就会报Segmenttaion falut
错误,我以为是编译器的问题,换成r10的,测试了一下也不可以。
用原生态的交叉编译工具的话,可以执行通过,但是system()函数
不执行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-5-5 02:39 , Processed in 0.021251 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部