自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 miniGui开发进展解决 

miniGUI中,可以在编译配置选项中设置UI风格。改为FLAT后,编译示例报错。说是myDrawButton没有定义。后来看了源码,才解决。原来定义FLAT时,还有个_GRAY_SCREEN宏开关,决定是否定义myDrawButton.还是要多看源码来解决问题呀。

2010-06-04 01:19:00 2189 2

转载 进程线程及堆栈关系的总结

<br />进程线程及堆栈关系的总结<br />突然想到进程的栈和线程的栈,就顺便说一下,线程的栈被自动分配到进程的内存空间中<br />进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: <br /><br />简而言之,一个程序至少有一个进程,一个进程至少有一个线程. <br />线程的划分尺度小于进程,使得多线程程序的并发性高。 <br />另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行

2011-03-31 10:47:00 888

转载 makefile解释及模板

<br />调试makefile 收藏<br /><br />一个调试makefile文件的简便方法:那就是用make -p|tee make.out来输出make运行过程中产生的中间信息。<br /><br />make -n 就可以输出调试<br /><br />make 的运行<br />——————<br /><br />一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整

2011-03-10 10:52:00 1820

转载 linux应用层获取鼠标坐标

linux应用层获取鼠标坐标2011-01-13 22:46<br />补充:在这个函数中要打开一个鼠标设备,但是在嵌入式的文件系统中没有这个设备节点,<br />鼠标设备的主设备号和次设备号有是如何确定的呢?<br />在  linux 系统中,鼠标和键盘的设备号都是固定的,可以在 PC 上查看,再在嵌入式的文件系统中自己建立。<br /><br />qu@ubuntu:/tmp$ ls -l /dev/input/ <br />total 0<br />drwxr-xr-x 2 root root   

2011-02-18 15:38:00 5492 1

转载 提问的智慧

<br />如果您经常有问题需要问<br />如果您的问题经常无人解答<br />如果您的提问贴里经常有人和您叫板<br />那么<br />您最适合阅读一下《》这篇文章<br /><br />如果您没有足够时间来阅读那些冗长的文字<br />那么这幅图可能最适合您了<br /><br />文字版<br /><br />中文来自:<br />http://www.linuxforum.net/doc/smartq-grand.html<br />英文原版:<br />http://linuxmafia.co

2011-02-18 14:12:00 551

转载 Android手机快捷键大全

Android手机快捷键大全Posted by IA on 2010 年 12 月 24 日 <br />Android手机的市场份额是越来越大,Android手机新用户也是越来越多,下面让我们来学习一下Android手机的快捷键,不管新手还是老手总会对你有用的!<br />全局快捷键启动(默认,可以自己定义修改,search键+任意字母键)quick launch:<br />Browser SEARCH + b<br />Contacts SEARCH + c<br />E-Mail SEARCH +

2011-02-18 14:02:00 1366

转载 configure文件中的build、host、target含义

configure文件中的build、host、target含义  今天阅读autobook[注1]一书,3.4节讲到了configuration name。书中提到了build、host、target这几个变量。看起来容易让人感到一些混淆,其实这极大的简化了二进制文件格式生成的控制。build -- 在build系统中建立packagehost -- 建立好package后,package能够在host运行target -- 经由package所产生的可执行文件能够在target上运行。 例如:在GN

2011-02-17 16:05:00 2066

转载 linux定时器的使用

<br />linux定时器的使用   <br />使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器,另一个是用sleep, usleep函数让进程睡眠一段时间,其实,还有一个方法,那就是用gettimeofday, difftime等自己来计算时间间隔,然后时间到了就执行某一任务,但是这种方法效率低,所以不常用。<br />首先来看看linux操作系统为每一个进程提供的3个内部

2011-01-05 21:10:00 436

转载 Linux 内核中断内幕

<br />Linux 内核中断内幕<br /> 苏 春艳, 在读研究生苏春艳:在读研究生,主要在Linux系统下从事嵌入式开发。杨 小华 (normalnotebook@126.com), 在读研究生杨小华,目前从事 Linux 内核方面的研究,喜欢捣鼓 Linux 系统,对 Linux 中断系统比较了解。可以通过 normalnotebook@126.com与他取得联系。<br /> <br />简介: 本文对中断系统进行了全面的分析与探讨,主要包括中断控制器、中断分类、中断亲和力、中断线程化与

2010-12-19 22:45:00 576

转载 Linux中断内核编程

<br /><br />Linux中断内核编程<br />前言<br />在前面分析了中断的基本原理后,就可以写一个内核中断程序来体验以下,也可以借此程序继续深入来了解内核中断的执行过程<br />一.内核中断程序 :<br />我们还是来看一看成程序:<br />在看程序之前,要熟悉如何进行模块编程,和了解module_pararm()的用法。如果不熟悉的话请大家看,module_param()的学习 和Linux内核模块编程 ,在此不作解释。<br />1.程序interrupt.c<br /> vie

2010-12-17 16:42:00 1647

转载 页目录和页表结构

<br /> 页目录和页表结构 收藏<br /> <br /><br />上图反映了如下信息:<br />1、  进程的4G 线性空间被划分成三个部分:进程空间(0-3G)、内核直接映射空间(3G – high_memory)、内核动态映射空间(VMALLOC_START  -  VMALLOC_END)<br />2、  三个空间使用同一张页目录表,通过 CR3 可找到此页目录表。但不同的空间在页目录表中页对应不同的项,因此互相不冲突<br />3、  内核初始化以后,根据实际物理内存的大小,计算出 hi

2010-12-13 11:54:00 10488

转载 Windows 内存的分配

<br />  Windows 内存的分配 收藏 Windows 使用一种 分页请求虚拟内存系统,现在我们就来分析一下这种系统。 虚拟地址空间<br />虚拟内存的概念在上个世纪五十年代就提出了,当时是作为解决不能一次装入实际内存的程序这一复杂问题的方案提出的。在虚拟内存系统中,程序可以访问超出可用物理内存的更大的地址集合,专用内存管理程序将这些逻辑地址映射到实际地址,使用磁盘上的临时存储保存超出的部分。<br />Windows 所使用的现代虚拟内存实现中,虚拟存储被组织成大小相同的单位,称为 页。每个操

2010-12-13 10:54:00 7449

转载 console tty 串口

<br />console tty 串口<br />  http://blog.sina.com.cn/s/blog_6151984a0100ejfg.html<br />使用的命令:<br />tty 查看使用哪个终端<br />who 查看登入的用户<br />w   查看登入的用户<br />echo "abc" >> /dev/pts/* <br />echo "123" >> /dev/ttyAMA0 不同终端之间信息的传递<br /><br />当你运行一个程序的时候,此进程一定会对

2010-10-31 17:17:00 2370

转载 Linux2.6 中断处理函数和申请中断函数的变化

Linux2.6 中断处理函数和申请中断函数的变化2009-07-29 08:46今天练习了中断。<br />Linux设备驱动开发技术及应用 ,作者使用的是2.6.4,现在看来也很古老了,<br />按照书上的例子,免不了很多错。<br />例如代码里<br />自己定义的中断处理函数<br />irqreturn_t int_interrupt(int irq,void * dev_id,struct pt_regs *regs);<br />注册中断函数<br />request_irq(PRINT

2010-10-01 16:49:00 1277

转载 复习STL各类容器的删除

复习STL各类容器的删除条款9:在删除选项中仔细选择<br />假定你有一个标准STL容器,c,容纳int,Container<int> c; <br />而你想把c中所有值为1963的对象都去掉。令人吃惊的是,完成这项任务的方法因不同的容器类型而不同:没有一种方法是通用的。<br />如果你有一个连续内存容器(vector、deque或string——参见条款1),最好的方法是erase-remove惯用法(参见条款32):c.erase(remove(c.begin(), c.end(), 1963),

2010-09-27 16:59:00 493

原创 Linux的Shell编程

<br /><br />其实作为命令语言互动式地解释和执行用户输入的命令只是Shell功能的一个方面,Shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构。使用Shell编程类似于DOS中的批处理文件,称为Shell script,又叫Shell程序或Shell命令文件。<br /> Shell基本语法<br />  像高级程序设计语言一样,Shell也提供说明和使用变量的功能。对Shell来讲,所有变量的取值都是一个字串,Shell程序采用$var的形式来引用名为var的变

2010-09-26 14:38:00 430

原创 linux shell 编程中的特殊符号

<br />linux shell 编程中的特殊符号2009年03月10日 星期二 18:53这是看书的时候记下来的笔记<br />一、井号 #1、在脚本文件中对一行进行注释。2、在引号和/符号后不是注释,只是#号本身:echo "12 # hehe"echo '12 # hehe'echo 12 /# hehe3、参数替代echo $(PATH#*:)4、进制数转换echo $((16#a));将十六进制数a转换为十进制数表示出来echo $((5#3));将5进制数3转换为十进制数表示出来5、模式匹配e

2010-09-26 14:36:00 1330

转载 解读linux对string.h函数的实现

C代码 /*  file:string.h  #ifndef _LINUX_STRING_H_  #define _LINUX_STRING_H_   /* We don't want strings.h stuff being user by user stuff by accident */    #ifdef __KERNEL__     #include <linux/types.h>  /* for size_t */   #include <linux/stddef.h> /* for NULL

2010-09-08 23:12:00 650

转载 C語言切割字串函式 strsep,分析 URL GET 參數

<br />今天來簡介 UNIX 內建的 strsep 函式,這在 Windows Dev-C++ 是沒有支援的,在寫 UNIX 分析字串常常需要利用到此函式,大家可以 man strsep 來看如何使用 strsep,假設我們要分析 URL Get 字串:user_command=appleboy&test=1&test2=2,就可以利用兩次 strsep 函式,將字串全部分離,取的個別的 name, value。strsep(stringp, delim) 第一個參數傳入需要分析的字串,第二個參數傳入

2010-09-08 23:08:00 2901 1

转载 第二章 SQLite的基本语法

<br />第二章 SQLite的基本语法<br /><br />作者: zieckey ( zieckey@yahoo.com.cn ) <br /><br />这一章我们将会学习到sqlite的基本语法,sqlite的语法现象和SQL92是比较相象的,<br />或者说sqlite3兼容大部份SQL92的语法现象。<br />下面我们看看怎么用这些语法现象来创建数据库以及对数据库的各种操作。<br /><br />2.1 新建一个数据库<br />例如我们想新建一个数据库命名为zieckey.db ,可

2010-08-29 12:23:00 1429

转载 Source Insight 经典教程

3推荐Source Insight经典教程 <br />Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。<br />作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序

2010-08-29 12:22:00 544

原创 什么是QCIF? CIF?2CIF?4CIF?DCIF?

<br />什么是QCIF? CIF?2CIF?4CIF?DCIF?QCIF全称Quarter common intermediate format。QCIF是常用的标准化图像格式。在H.323协议簇中,规定了视频采集设备的标准采集分辨率。QCIF = 176×144像素。CIF是常用的标准化图像格式(Common Intermediate Format)。在H.323协议簇中,规定了视频采集设备的标准采集分辨率。CIF = 352×288像素CIF格式具有如下特性: <br />(1) 电视图像的空间分辨

2010-08-23 12:12:00 830

原创 Linux下的段错误产生的原因及调试方法

<br />简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.<br /><br />一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相

2010-08-20 17:03:00 598

原创 Linux下的段错误产生的原因及调试方法

<br />简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.<br /><br />一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相

2010-08-20 17:02:00 415

原创 Linux下的段错误产生的原因及调试方法

<br />简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.<br /><br />一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相

2010-08-20 17:02:00 575

转载 LINUX修改IP地址

LINUX修改IP地址 <br />以前都是使用自动IP动态分配获取IP的,虽然每次获得的ip都是相同的,但我还是决定自己设置一个IP。输入命令:<br />[root@localhost ~]# ifconfig eth0 219.246.177.160 netmask 255.255.255.0 up<br /><br />ping以下177网段的ip是可以ping通的,但是ping别的网段无法ping通<br />[root@localhost ~]# ping 219.246.183.1<br />

2010-08-11 16:58:00 497

转载 何时使用 extern "C"

<br />extern "C" 解析<br /> <br />时常在cpp的代码之中看到这样的代码:  <br />#ifdef __cplusplus<br />extern "C" { <br />#endif <br />//一段代码<br />#ifdef __cplusplus <br />} <br />#endif  <br />  这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这

2010-08-09 14:39:00 1031

转载 gcc和g++的区别

<br /> <br /> <br />本次制作与前一篇类似,出来用uClibc代替了Glibc<br /> <br />下载的代码目录 root: /home/lake/arm-uclibc-linux<br />目标目录<br /> dir: /home/lake/arm-uclibc-linux/uclibc-tools<br /> <br /> <br />1.           准备工作:<br /> <br />下载 Binutil2.17/Gcc3.4.6/uClibc0.9.28/Linu

2010-08-09 14:36:00 2931

转载 ARM926的Linux工具链的制作(续 : 基于uclibc)

<br /> <br /> <br />本次制作与前一篇类似,出来用uClibc代替了Glibc<br /> <br />下载的代码目录 root: /home/lake/arm-uclibc-linux<br />目标目录<br /> dir: /home/lake/arm-uclibc-linux/uclibc-tools<br /> <br /> <br />1.           准备工作:<br /> <br />下载 Binutil2.17/Gcc3.4.6/uClibc0.9.28/Linu

2010-08-09 09:37:00 1386

转载 鱼还是熊掌:浅谈多进程多线程的选择

鱼还是熊掌:浅谈多进程多线程的选择作者: yah99wolf (1 篇文章) 日期: 七月 20, 2010 在 9:15 上午 <br />关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。<br />经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根

2010-08-06 15:12:00 560

原创 创建MiniGUI自定义控件

创建MiniGUI自定义控件 include <STDIO.H>     #include <MINIGUI common.h>   #include <MINIGUI minigui.h>   #include <MINIGUI gdi.h>   #include <MINIGUI window.h>   #include <MINIGUI control.h>   #include <STRING.H>     #define _FLAT_WINDOW_STYLE       /************

2010-07-29 14:29:00 4029

转载 minigui学习笔记-按钮

<br /><br />    CTRL_BUTTON 为控件类<br />    普通按钮是一个矩形,其中显示了通过 CreateWindow 传递的窗口标题。<br />    按钮控件主要用来触发一个立即回应的动作,并且不会长久保持开关信息。风格和 BS_DEFPUSHBUTTON 风格的作用不同,具有 BS_DEFPUSHBUTTON 的按钮将是默认接收 ENTER 键输入的按钮,而不管当前的输入焦点处于哪个控件上。但是当用作普通主窗口的控件时,两种型态的按钮作用相同,只是具有 BS_DEFPUSH

2010-07-14 17:32:00 6162 1

原创 LINUX下安装上飞信&RTX

<br />今天找了下linux下的飞信,安装了openfetion.有FC下的RMP包,装好后,直接运行openfetion.还行。<br /> <br />尝试了下安装wine RTX.   登陆成功了07版。但显示有问题。   界面大小也不能改。暂且记下问题。<br /> <br />**::先下载附件中的winetricks,他是用来安装一些和rtx相关的软件和设置wine的sh.然后运行下面的对话<br /><br />$sh winetricks msxml3 gdiplus riche

2010-07-08 11:48:00 1173

转载 开发人员的人品问题 收藏

<br /><br />程序员都知道:绝大多数编程中的问题,最终都是自己的人品问题。当遇到奇怪的问题时,我们总是喜欢怀疑系统、怀疑编译器、怀疑网络、怀疑硬件……就是不愿意怀疑自己的人品。熬过几个不眠之夜后,最终还是发现自己的代码存在人品问题。只有极少数的情况才是系统的问题。 <br />同样,一些程序员在职业发展中遇到问题时,也总是喜欢怀疑公司不好,怀疑战略有问题,怀疑流程制度不合理,怀疑老板和同事……就是不愿意怀疑自己的人品。 <br />在大大小小的IT企业中,总能看到一些技术并非最顶尖的程序员做成大事

2010-07-07 15:25:00 628

原创 解决头文件相互包含问题的方法

Posted on 2006-12-12 23:25 sunrack 阅读(1137) 评论(0)  编辑收藏 所属分类: Visual C++ 2005所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。<br />    一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例如,在类CMyView中保留了一个非模式对话框对象指针,该对象用于显示/修改一些信息。为了实现对话框"应用"按钮,把对话框做的修改立刻更新到view界面上,为此,需要在对话框

2010-07-07 12:20:00 503

原创 指针、结构体、联合体的安全规范

<br /><br /> 指针、结构体、联合体的安全规范分类: C2009-12-06 14:35<br />    <br />  指针赋予了C编程最大的灵活性;结构体使得C程序整齐而紧凑;联合体在某些要求注重效率的场合有精彩的表现,这三个要素是C语言的精华。<br /><br />    然而,精华并不意味着完美,C语言在赋予程序员足够灵活性的同时,也给了程序员很多犯错误的机会。所以有必要关注指针、结构体和联合体的实现细节,从而保障程序的安全性。<br /><br />    在此.第一部分介绍《MIS

2010-07-07 11:33:00 537

原创 .h和.cpp文件的区别

<br />分类: C2009-11-21 22:10<br />    <br />关于头文件和源文件的分别<br />首先,我们可以将所有东西都放在一个.cpp文件内.<br />然后编译器就将这个.cpp编译成.obj,obj是什么东西?<br />就是编译单元了.一个程序,可以由一个编译单元组成,<br />也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读的话,<br />就请使用多个编译单元吧.(一个函数不能放到两个编译单元里面,但两个以上<br />就可以分别放在一个单元,也就是c

2010-07-07 11:31:00 415

原创 阿甘正传 收藏

<br /><br />今天早上看了阿甘正传觉得,我们还是得抽点时间看看电影,特别是像《阿甘正传》这种有韵味的电影,里面的人生哲学真的很值得人们去深思。我已经好久没写博客了,很多朋友觉得我的日志给了他们很大的启发,其实我的很多思想与观点也是从影视、评论、社会想象中感悟的。《阿甘正传》带给我们的东西太多太多了,有人说一个影视作品的好坏在于是否贴近人们的生活与思想,前段时间很火的《蜗居》想必是当前生活得反应,我预计明年这类作品将更多。呵呵,我们不扯这个了,我们扯阿甘。 阿甘是一个什么样的人, 用智商标准评价--

2010-07-07 10:46:00 705

原创 你的成功在于你每天养成的习惯

<br />收藏 <br />要成功,就马上准备有所付出吧!这就是每天你应该养成的习惯。 <br />1、不说“不可能”; <br />2、凡事第一反应: 找方法,不找借口; <br />3、遇到挫折对自己说声:太好了,机会来了! <br />4、不说消极的话,不落入消极的情绪,一旦发生立即正面处理; <br />5、凡事先订立目标; <br />6、行动前,预先做计划; <br />7、工作时间,每一分、每一秒做有利于生产的事情; <br />8、随时用零碎的时间做零碎的事情; <br />9、守时; <

2010-07-07 10:43:00 516

原创 MiniGUI编程-细节

<br /> <br /> <br /> <br /> <br /> <br /> MiniGUI编程--列表框分类: minigui2009-11-04 20:40<br /> <br />列表框<br />LBS(ListBoxStyle)<br />以CTRL_LIST/"list"为类名调用CreateWindow<br />多选风格:LBS_MULTIPLESEL<br />高级风各:LBS_USEICON<br />LBS_CHECKBOX<br />LBS_AUTOCHECK<br />加上边

2010-07-07 00:59:00 7605

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除