-
Ubuntu 10.04下Qt4.7.4移植介绍
所属栏目:[教程] 日期:2021-11-21 热度:134
移植环境 gcc编译器版本:gcc version4.3.2 (Sourcery G++ Lite 2008q3-72) 宿主机版本:Ubuntu 10.04 LTS QtCreator版本:QtCreator2.6.1 交叉编译依赖库:tslib1.4 Qt版本:qt-everywhere-opensource-src-4.7.4 虚拟机版本:Vmware 7.1.4 qmake 移植Qt其实[详细]
-
C语言达成字符串替换函数
所属栏目:[教程] 日期:2021-11-21 热度:121
C语言中没有提供字符串替换函数,网上能找到的类似函数也只是能替换一个,不能替换全部,工作中却常常要用到这个功能,故实现一个函数。该函数所使用到的相关函数均是自己实现,没有调用库函数。 相关代码如下: /*****************************************[详细]
-
S3C2410下寄存器地址虚实映射的达成
所属栏目:[教程] 日期:2021-11-21 热度:50
我们知道在我们的驱动里面一般操作的寄存器的地址都是虚拟地址, 然而一般在cpu的datasheet里描述的寄存器的地址都是物理地址, 那linux内核是如何把我们驱动中指定操作的虚拟地址转换成正真可寻址并操作的物理地址的呢? 这篇文档以s3c2410为例, 将详细的[详细]
-
FS_S5PC100平台上Linux Camera驱动开发分析
所属栏目:[教程] 日期:2021-11-21 热度:53
说明: 理解摄像头驱动需要四个前提: 1)摄像头基本的工作原理和S5PC100集成的Camera控制器的工作原理 2)platform_device和platform_driver工作原理 3)Linux内核V4L2驱动架构 4)Linux内核I2C驱动架构 1. 摄像头工作原理 OV9650/9655是CMOS接口的图像传感[详细]
-
Linux内核哈希表分析与实施
所属栏目:[教程] 日期:2021-11-21 热度:146
前言: 1.基本概念: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 2. 常用[详细]
-
Linux内核链表的探索与应用
所属栏目:[教程] 日期:2021-11-21 热度:137
前言: 在Linux内核中使用了大量的链表来组织其数据,其采用了双向链表作为其基本的数据结构。但是与我们传统的数据结构中所学的双向链表又有着本质的一些不同(其不包含数据域)。其主要是Linux内核链表在设计时给出了一种抽象的定义。 采用这种定义有以下[详细]
-
Linux内核开发:offset宏的分析
所属栏目:[教程] 日期:2021-11-21 热度:97
1.offset宏讲解 #define offsetof(TYPE, MEMBER) ((size_t) ((TYPE*)0)-MEMBER) 对这个宏的讲解我们大致可以分为以下4步进行讲解: 1( (TYPE *)0 ) 0地址强制 转换 为 TYPE结构类型的指针; 2((TYPE *)0)-MEMBER 访问TYPE结构中的MEMBER数据成员; 3( ( (TYP[详细]
-
Android URL请求的技巧 迭代器
所属栏目:[教程] 日期:2021-11-21 热度:92
Android URL请求的方法 迭代器 protected static CommResult HttpPost(Context context, String url, HashMapString, String map) { synchronized (http post) { CommResult result = new CommResult(); HttpClient httpClient = getNewHttpClient(context);[详细]
-
Java的Static使用说明
所属栏目:[教程] 日期:2021-11-21 热度:147
一、开篇 首先用一个例子开始我们今天的介绍。 定义一个TestStaticClass类如下: public class TestStaticClass { private static int a; private int b = 0; public TestStaticClass() { a++; b++; } public static void testRun() { System.out.println(run[详细]
-
Android中的动画实现分析
所属栏目:[教程] 日期:2021-11-21 热度:104
在Android的FrameWork中,为我们提供三种动画的实现方式:逐帧(Frame)动画、视图动画(View Animation)和属性动画(Property Animation)。由于,这三种动画的实现方式和针对面不一样,应用的范围也有所区别,因此我们需要根据具体的需求来选择正确动画类型。[详细]
-
Linux中文件名解析解决源码分析
所属栏目:[教程] 日期:2021-11-21 热度:165
前言 Linux中对一个文件进行操作的时候,一件很重要的事情是对文件名进行解析处理,并且找到对应文件的inode对象,然后创建表示文件的file对象。在此,对文件名解析过程,并且如何找到对应inode的过程进行源码分析。分析代码基于Linux-3.2版本。 关键函数分析[详细]
-
Android开发教程:自定义ViewGroup方法概括
所属栏目:[教程] 日期:2021-11-21 热度:73
应用中需要添加一个滑动按钮,在网上看了几个Demo之后决定自定义ViewGroup来实现。 这里是对实现过程中自定义ViewGroup的方法总结。 关于ViewGroup,文档给出的描述是: A ViewGroup is a special view that can contain other views (called children.) The[详细]
-
裸板开发--makefile 出错问题处理
所属栏目:[教程] 日期:2021-11-21 热度:68
1,在keil uvision4 中编译韦东山的裸板程序时,会提示错误: Build target Target 1 linking... key_led.axf: Error: L6218E: Undefined symbol Image$$RW_RAM1$$RW$$Length (referred from s3c2440.o). Target not created 原因是target中没有配置read/only[详细]
-
Flash Web Game移植到Android平台需要谨慎的地方
所属栏目:[教程] 日期:2021-11-21 热度:66
1、air不支持Security.allowDomain(*); 如同一个swf即要支持flash player播放,又要支持air,则通过类型来判断: if(flash.system.Capabilities.playerType !=Desktop) Security.allowDomain(*); 2、var cm:ContextMenu =new ContextMenu(); air的 cm.customI[详细]
-
CRC32 逆向算法的C语言达成
所属栏目:[教程] 日期:2021-11-21 热度:172
CRC32: CRC32校验应用很广泛。本文提供一种算法添加4个字节实现任意的crc32校验值转换,逆向计算crc32的值。可以随意修改文件任意4个字节实现任意的crc32校验值。 原理: 下面是一组CRC32计算过程: 添加了四个字节00ba ff 30, 原crc32值2be0dd1d变成eee8a9a[详细]
-
Python Socket通讯例子介绍
所属栏目:[教程] 日期:2021-11-21 热度:180
创新从模仿开始! Python中内置的socket模块使得网络编程更加简单化,下面就通过两个小小脚本来了解客户端如何与服务器端建立socket。 客户端代码: #clietn.py if __name__ == '__main__': #判断是否调用自己本身,如果不是则__name__为脚本名称 import s[详细]
-
Mini2440开发板PWM驱动与测试程序简要详解
所属栏目:[教程] 日期:2021-11-21 热度:58
先看下电路原理图 #include linux/module.h #include linux/kernel.h #include linux/fs.h #include linux/init.h #include linux/delay.h #include linux/poll.h #include linux/interrupt.h #include linux/gpio.h #include asm/irq.h #include asm/io.h #[详细]
-
Objective-C Log日志提高 预定义宏实施
所属栏目:[教程] 日期:2021-11-21 热度:148
使用NSLog记录日志是很方便的操作,但是有时候也希望能够像C/C++编程一样使用一些预定义的宏,比如获取当前文件名、行号等,在XCode中其实也有这样的功能。 XCode的c预处理器提供了一些标准宏,另外Objective-C语言还提供了隐含的_cmd参数,可以用来获取当前[详细]
-
httpd系统自带启动脚本分析
所属栏目:[教程] 日期:2021-11-21 热度:58
面上有很多关于脚本的书籍和教程,好是好,可写的越来越像编程书。其中不仅有算法的介绍,比如递归,冒泡法,高效,冗余。还伴有非常高深的案例,看的是云里雾里,头昏脑胀。看完以后感觉如下,书是好书,例子是好例子,算法更是好算法,可多少有些脱离实际[详细]
-
Java中形参可变的技巧
所属栏目:[教程] 日期:2021-11-21 热度:73
之前上C语言的时候老师给我们讲过printf();函数,老师问我们有没有觉得这个函数很神奇,因为他传入的参数是不确定的。 这是怎么实现的,老师之前给我说了红黑树,来传递参数,刚才看见了Java中实现形参可变的方法 觉得很有意思就记录一下 public class abc {[详细]
-
Python 达成的“冒泡排序”
所属栏目:[教程] 日期:2021-11-21 热度:158
Python 实现的冒泡排序 Bubble Sort @author: aihua.sun import string import random number = []; count = 0; def bubbleSort(): #initializeNumberArray(); generateRandomNumberArray(10, 1, 300); showArray(); sort(); showArray(); def showArray(): p[详细]
-
AsyncTask和Handler的利弊比较
所属栏目:[教程] 日期:2021-11-21 热度:50
AsyncTask实现的原理和适用的优缺点 AsyncTask,是Android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 使用的优点: 简单,快捷 过程可控 使[详细]
-
在Win32下用C++达成多线程读写锁
所属栏目:[教程] 日期:2021-11-21 热度:74
读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读[详细]
-
C++引用与指针的差异
所属栏目:[教程] 日期:2021-11-21 热度:80
这几天看重温了下《高质量C/C++编程指南》和 《More Effective C++》对于里面的引用和指针觉得写得很精辟,同时在网上也找了些别人写的总结,引用过来大家分享下。 虽然使用引用和指针都可以间接访问另一个值,但他们之间有两个重要区别: 引用总是指向某个[详细]
-
C++中的位拷贝与值拷贝畅聊
所属栏目:[教程] 日期:2021-11-21 热度:174
位拷贝拷贝的是地址(也叫浅拷贝),而值拷贝则拷贝的是内容(深拷贝)。深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝。 位拷贝,及bitwis[详细]
