Application
文章平均质量分 63
井朝天
你,还好吗?
展开
-
Linux下基于POSIX标准的共享内存操作示例
<br /> 对于进程间通信,之前一直是用管道进行实现。比如父子进程间使用pipe,无血缘关系的进程可以使用fifo。从来没有想过使用共享内存,为什么呢?大家还记得这本书吧《Unix环境高级编程》,上面讲解了关于共享内存的操作,说实话,太麻烦了,真的不好用(有好多繁杂的接口,比如shmget, shmat,shmdt,chmctl等)。现在好了,基于POSIX标准的共享内存操作变得及其简单,总共就几个接口可供调用,已经变得像操作普通文件一样简单!<br /> 新的标准的接口如下:<原创 2010-12-31 11:10:00 · 4742 阅读 · 0 评论 -
Android 480DP屏幕使状态栏始终显示
糖果G-2的平板电脑产品使用的屏幕分辨率为800x480,在7inch的平板电脑上来讲,分辨率是相当低的。在Android 4.0的策略中,短边低于600dp的产品,status bar可以进行隐藏,比如打开图库等全屏应用的时候,status bar消失不见。这个时候如果想看到status bar,则要用手指快速从屏幕底部向上滑动。status bar出现后会覆盖原来app的内容。本来这是谷歌原创 2013-03-07 14:35:50 · 3132 阅读 · 0 评论 -
gcc版本问题导致Ubuntu12.04安装virtualbox失败
前阵子将Ubuntu升级到了12.04,原来装得virtualbox也可以正常使用。后来几次内核升级之后,virtualbox突然不能用了。virtualbox提示进行/etc/init.d/vboxdrv setup进行此操作后,系统直接死机。提示VBoxPciLinuxInit +0x10.。。。。看提示 应该是模块问题。但是网上还真的很少有这个问题。大多是提示缺少内核头文件。原创 2013-02-02 16:44:00 · 1880 阅读 · 0 评论 -
解决不使用Android NDK编译的bin文件No such file or directory问题
使用板子的交叉编译工具链,自己做Makefile来编译一个二进制文件,adb push到板子上运行。会出现No such file or directory问题。明明该文件是存在的,为什么会出现这个问题呢?文件是存在,但是该文件所需要的一些库文件,是不存在的。这个时候就需要静态链接。在Makefile中增加一行LDFLAGS += --static在编译可执行文件的命令中原创 2013-01-17 16:04:42 · 4392 阅读 · 0 评论 -
君正JZ4770 bootloader中对nand 进行分区
Android系统有好几个分区。system, data, flash等以下是jz4770平台上某款设备的分区信息/dev/block/mmcblk0p1 /system ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0/dev/block/mmcblk0p2 /data ext4 rw,nosuid,nodev,relati原创 2013-01-04 18:46:32 · 2495 阅读 · 0 评论 -
Android设备连接豌豆荚等显示的设备名
最近打算用JZ4770方案来做我们自己的产品。君正给的代码,是基于给艾诺定制的。每次用豌豆荚,或者QQ电脑管家连接设备的时候,总是显示“艾诺 Novo7 Basic”。很明显要改为我们自己的产品型号。目前只是用作开发板,后期要设计自己的板子。 本来以为这个字符串“Novo7 Basic”是通过“设置>关于平板电脑>型号”获取的,但是通过修改xx.mk(xx代表板子类型)中的PRO原创 2012-11-08 10:10:07 · 3419 阅读 · 2 评论 -
Ubuntu中配置多个JDK
在已经安装好多个JDK之后,想要切换的时候,只需要修改~/.bashrc中的 JAVA_HOME环境变量如 93 #export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_29 94 export JAVA_HOME=/usr/lib/jvm/java-6-openjdk 95 export CLASSPATH=$JAVA_HOME/lib:$CLAS原创 2012-10-17 14:25:02 · 2289 阅读 · 0 评论 -
linux权限
1. 更改用户ID和组ID1.1. 设置用户ID和设置组ID与进程相关联的ID有6个或更多,如下: 实际用户ID我们实际上是谁实际组ID有效用户ID用于文件访问权限检查有效组ID附加组ID保存的设置用转载 2012-09-13 11:34:04 · 750 阅读 · 0 评论 -
Android普通应用程序使用system权限
Android 在标准Linux系统上扩展了很多用户。在Android 4.1中,定义这些用户的文件为system/core/include/private/android_filesystem_config.h在这里也就直接粘贴过来吧#define AID_ROOT 0 /* traditional unix root user */#def原创 2012-07-26 16:44:53 · 7030 阅读 · 0 评论 -
android 4.1 强制使用720dp的布局
机器升级为android 4.1,10寸的平板跟以前的布局没有什么两样,但是7寸的就出了点问题。 谷歌Nexus 7也是7寸,默认使用的layout跟手机有些相似,但不全是手机布局。Nexus 7是1280 x 800,DPI 为213,这样经过计算,宽度换算为DP就是800 * 160 / 213 = 600; 4.1中对于600 ~ 719 dp的分辨率使用一种新的原创 2012-07-26 15:54:43 · 4650 阅读 · 4 评论 -
Android布局属性详解
android:id 为控件指定相应的IDandroid:text 指定控件的文本,置尽量使用strings.xmlandroid:grivity 指定控件的基本位置 ,比如举重,居右,android:padding 指定控件的内边距,控件当中的内容android:singleLine转载 2012-08-10 14:57:50 · 1510 阅读 · 0 评论 -
Android中如何让控件居中
测试部报告锁屏界面里,设置锁屏的那个控件位置不好,有点偏下。以至于设置的时候,图标都在界外了。 打开packages/app/Settings里的res/layout-sw720dp/lockscreen_targets.xml 对于横屏和竖屏两种情况,其实应该定义两个目录一种叫做land,另一种叫做port(都是缩写),分别对应横屏和竖屏。原创 2012-08-10 14:56:09 · 8643 阅读 · 0 评论 -
Android中为通知栏添加滚动条
将系统升级到4.1,发现右下角通知栏里面的滚动条没有了。如果里面栏目少的话,还可以接受,但是现在栏目多了,添加了蓝牙,GPS等,以至于上面的title直接顶到界面的最上面去了。这是无法接受的。 原来的4.0是有滚动条的,不确定是4.1里面去掉了,还是在同步代码的时候出了问题。总之,要把滚动条加上。 对于上层,特别是界面的东西一直以来都很犯怵,这次也是原创 2012-08-06 09:02:22 · 2684 阅读 · 0 评论 -
wpa_supplicant, wpa_cli用法
Android系统中对于WIFI的设置集成到了“设置”中,其实跟手动设置差不多。这里介绍下如何手动连接WIFI,以方便以后调试WIFI。 第一步要做的就是要加载WIFI模块驱动了。当然如果你的WIFI是编译到内核里面的,就不需要的。我们的WIFI芯片用的是BCM4330,编译为模块。insmod /system/lib/modules/kernel/drivers/net/w原创 2012-07-05 16:43:16 · 37645 阅读 · 6 评论 -
老话题了,指针作为参数被sizeof
<br />大家都已经知道当数组作为函数参数传递的时候会退化为指针。<br />但是在使用的时候还是经常会犯错,在函数<br />int get_pexEeprom(pPexIns_t *pPexIns, char *pexEeprom, int bufLen)<br />{<br /> ...<br /> int len = sizeof(pexEeprom); //这里又犯错了<br />}<br /> <br />一般写代码的时候是不会出现在这种低级错误的,但是一般我们会拷原创 2011-06-02 09:47:00 · 2045 阅读 · 1 评论 -
Linux 多线程应用中如何编写安全的信号处理函数(转载IBM)
Linux 多线程应用中编写安全的信号处理函数在开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_mutex 去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如 SIGUSR1、SIGRTMIN 等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景,没有考虑编写安全的信号处理函数的一些规则。本文首先介绍编写信号处理函数时需要考虑的一些规则;然后举例说明在多线程应用中如何转载 2011-01-11 17:51:00 · 1305 阅读 · 0 评论 -
OSS音频编程实例
虽说现在较新的kernel都支持ALSA了,但是我认为OSS编程是比较容易上手的,因为比较符合Linux的编程的框架。再说ALSA配置的时候也可以选择OSS支持,这样OSS应用程序无需更改就可以使用ALSA驱动。关于录音和放音的ADC/DAC的控制设备节点为/dev/dsp, 音量调整的设备节点为/dev/mixer。从/dev/dsp读取的过程是录音,向/dev/dsp写入的过程原创 2013-03-28 14:48:10 · 3064 阅读 · 0 评论