C语言Linux下的Socket 编程 2016年10月16日 11 阅读 (1) client端,发数据:udp_client.c文件#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<netdb.h...
Android 成功交叉编译C文件 2016年10月16日 11 阅读 前天弄好了NDK的开发环境,做了jni 的开发测试。由于没有在实际的项目中使用NDK开发,不知道下面该弄点什么。想起之前做ril的时候,调试3G模块时,自己写的AT command的交互程序的编译是放到Android源码中利用Android.mk编译的。一直想写make文件独立于android源码编译C/C++.那就开始了!交叉编译器就用 NDK自己的。先贴上makefile。cc=/work/tool/android-ndk-r5/toolchains/...
Android 获取屏幕的分辨率 2016年10月16日 11 阅读 Android 提供DisplayMetircs 类可以很方便的获取分辨率。 Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。 为了获取DisplayMetrics 成员,首先初始化一个对象如下: DisplayMetrics metrics = new DisplayMetrics(); WindowManager WM = (WindowManager)mcontext.getSy...
Android 获取正在运行的后台service的代码 2016年10月16日 11 阅读 获取正在运行的后台service的代码 给一段获取正在运行的后台service的代码,如下://RunningServicesInfo public static String getRunningServicesInfo(Context context) { StringBuffer serviceInfo = new StringBuffer(); final ActivityManager activityManager = (Activity...
QT 编写 静态库和动态库 2016年10月16日 11 阅读 今天来说的是关于共享库 shared library。 如果你打开一些 Windows 应用程序的目录,你会发现有很多程序的 exe 文件都很小,大约几百K 的样子,并且目录中不仅仅只有一个 exe 文件,还包含着一大堆 dll 文件。这些 dll 其实就是一些共享库,所谓共享库,其实就是一些动态链接库,能够由程序在运行时进行动态加载的库。既然说是共享,那就是说,这些库不仅仅自己的程序可以使用,并且其他程序也可以使用,例如某些通用算法。如果你发布一下自己编...
Linux/Ubuntu 下编译安装Qt(和减少Qt编译时间) 2016年10月16日 11 阅读 使用Qt编程简单的方法是下载Qt SDK 安装,跟安装一般的程序一样,很快,很简单。安装完后,在 应用-编程 那就会看到一个Qt Creator的东西,利用它就可以进行Qt编程了。但是如果是下载源代码的Qt,如qt-x11-opensource-src-4.5.1.tar.gz文件,那要怎么安装呢?1、下载源安装程序,如 qt-x11-opensource-src-4.5.1.tar.gz2、解压到某一目录3、cd 进入解压后的目录,命令:./config...
Linux/Ubuntu下 静态编译Qt程序 2016年10月16日 11 阅读 一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的。会提示缺少……库文件之类的错误。这就是动态编译的结果。但是如果我们想编译一个程序,这个程序在发给别人后,他们可以直接打开,而不需要特别地去先安装Qt库,那就需要采用静态编译了。在Linux下如何静态编译Qt程序呢?首先需要先安装静态编译的Qt,也就是静态编译Qt程序首先是需要一个静态编译安装的Qt1、下载源安装程序,如 qt-x11-ope...
QT实现简单滚动随机数生成程序 2016年10月16日 11 阅读 刚学QT,无聊时做了一个小小的随机数生成的程序,实现日常生活中“抽签”的效果。平台: Linux源文件:https://sourceforge.net/projects/makerandnumber/files/经验: 使用 void QTest::qWait ( int ms ) 时,包含头文件<QTest>,并且在工程文件.pro中要加入语句CONFIG += qtestlib不然无法使用QTest效果图如下:图1图2...
Linux驱动中probe函数何时被调用? 2016年10月16日 12 阅读 关于struct device_driver结构中的probe探测函数的调用用SourceInsight跟踪:从driver_register看起,此处我的这里是:int driver_register(struct device_driver * drv){if ((drv->bus->probe && drv->probe) || (drv->bus->remove && drv->r...
Android g-sensor相关流程 2016年10月16日 11 阅读 1.使G-sensor正常工作需要做的事:G-sensor driver文件包括:driver/i2c/chips/lis331dl.cdriver/i2c/chips/sensorioctl.hinclude/linux/lis331dl.h并在/kernel/arch/arm/mach-s3c6410/mach-ur6410.c文件中i2c chanel1的结构变量i2c_devs1[] __initdata中需要添加G-sensor的设备信息,以使d...
Linux环境下无配置信息PCI设备的驱动开发 2016年10月16日 11 阅读 Linux是非常优秀的开源操作系统,有着十分广泛的应用。基于该操作系统设备驱动程序的需求越来越多。PCI作为一种广泛采用的总线标准,在嵌入式系统中正被大量使用,而Linux的内核也能很好地支持PCI设备。为此,本文介绍了Linux下无配置信息PCI设备驱动程序的设计开发方法。 1 PCI总线及无配置信息PCI设备 1.1 PCI总线 PCI是外围设备互连(Peripheral ComponentInterconnect)的简称,是一种通用的总线接口标...
Linux Shell中各种分号和括号的用法总结 2016年10月16日 11 阅读 各种括号的用法总结如下1.Shell中变量的原形:${var}大家常见的变量形式都是$var2.命令替换$(cmd)命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处3.一串的命令执行()和{}()和{}都是对一串的命令进行执行,但有所区别:A,()只是对一串命令重新开一个子shell进行执行B,{}对一串命令在当前shell执行C,()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开D,()...
如何给Qt/Embedded Linux程序设置桌面背景 2016年10月16日 11 阅读 本文最后的的程序为一个ARM下的QT程序通过QVFB运行时的效果图。我们知道在桌面Linux中设置系统的背景图片是非常简单的。通常只需要右键选择设置桌面背景即可。但在Qt for Embedded Linux的环境中,并没有桌面系统,如何来设置整个屏幕的背景图片?如可才能像我这样将屏幕点缀起来?下面就看我是如何实现如上图所示的效果的。在你的担任Server的程序main()函数中的"QApplication a(argc, argv);"语句后加入如下面的...
Java 对象参数传递与对象复制 2016年10月16日 11 阅读 写一个java的方法,方法中有的参数是两个Map对象。目的是求这两个Map的所有不同的元素的集合。结果到回到主方法输出时,大的集合Map对象被修改了。这是我不希望的。因为下面我还要用这个对象进行操作。经过查询,java原来有两种传递参数方式。1.传值 2.传引用 。对于简单类型的参数,如int ,string等,java用传值方式。对于对象,java用传引用的方式。所以前面的那个方法中的对象参数,传过去的是引用。所以该对象如果在方法中被修改,外面的引用的这...
Android adb shell 命令 2016年10月16日 11 阅读 adb 概述 SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作: 1、快速更新设备或手机模拟器中的代码,如应用或Android 系统升级; 2、在设备上运行shell命令; 3、管理设备或手机模拟器上的预定端口...
Android 电话的反射调用机制实现静默接听电话 2016年10月16日 11 阅读 首先 建一个工程insertTel建一个com.Android.internal.telephony的包把系统的源码里的ITelephony.aidl拷贝进来如下ITelephony.aidl/** Copyright (C) 2007 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License");* you may not ...
Linux下Socket TCP的简单例子 2016年10月16日 11 阅读 服务器端:#include<sys/socket.h>#include <unistd.h>// for close function#include <string.h> // for bzero function#include<stdio.h>#include<sys/types.h>#include <sys/stat.h>#include <fcntl.h>#in...
Android SD卡路径问题以及如何获取SDCard 内存 2016年10月16日 11 阅读 在研究拍照后突破的存储路径的问题,开始存储路径写死为: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽然一般不会出错,但不是很好,因为不同相机,可能路径会出问题。较好的方法是通过Environment 来获取路径,最后给出一个例子,教你怎样获取SDCard 的内存,显示出来告诉用户。讲述的内容如下: 0、获取sd卡路径。 1、讲述 Environment 类...
Android缩略图类源代码 2016年10月16日 11 阅读 Android 2.2开始新增的缩略图类ThumbnailUtils的主要方法是静态的,对于Android 2.2或API Level8以下的工程可以直接使用,本类相对于我们常规的缩略图类考虑更周全,除了尺寸比例优化外,针对OOM的内存管理方面有更周全的处理方式,完整代码如下, public class ThumbnailUtils { private static final String TAG = "ThumbnailUtils"; /* Max...
Linux 驱动mmap操作 2016年10月16日 11 阅读 VMA和PAGE结构 和mmap函数1.page 主要成员 atomic_t count; //这个页的引用数. 当这个 count 掉到 0, 这页被返回给空闲列表.void *virtual; //如果页被映射,则表示这页的内核虚拟地址; 否则, NULL. unsigned long flags; //描述页状态的一套位标志. 这些包括 PG_locked, 它指示该页在内存中已被加锁, 以及 PG_reserved,//它防止内存管理系统使用该页2...