博客首页
注册
建议与交流
排行榜
加入友情链接
推荐
投诉
搜索:
帮助
jhluroom 弹
linux内核开发、linux驱动开发、linux应用开发
jhluroom.cublog.cn
管理博客
发表文章
留言
收藏夹
博客圈
音乐
相册
文章
· Arm-linux
· Linux_android
· Powerpc-linux
· Linux_QT
· Linux驱动开发
· Linux应有开发
· Linux内核开发
· Linux0.11源码分析
}
· boot
· init
· kernel
}
· blk_drv
· chr_drv
· math
· fs
· mm
· 源码疑问
· Linux嵌入式开发
· Linux数据库
· Linux开发工具
· 中间件-activeMQ
· JAVA
· VxWorks
· Windows_VC++
· Windows_GIS
· 生活随笔
首页
关于作者
QQ:454676244 MSN:jhlu0815@hotmail.com
||
<<
>>
||
我的分类
最新文章
·
设计模式之观察者(Observ..
·
动态配置工厂类
·
Qt经典出错信息之undefin..
·
Oracle应用Linux开发C
·
Linux下的Oracle编程技术
最新留言
最新评论
·
111
·
那要看你的个人习惯了,有..
·
very good
·
和楼主的感觉一个样,我在..
·
每次吃饭不洗碗
最新收藏
·
郭志东博客
·
王洪宾
·
强力美味蘑菇
·
竹林飘雪
统计信息
·
总访问量:48010
·
文章个数:123
·
评论条数:18
·
留言条数:0
·
网友推荐:
【置顶】我万事追求苦尽甘来,但一直解决不了如何先洗碗再享受美餐
查看全文
发表于:2009-07-31 ┆
阅读(509)
┆
评论(9)
设计模式之观察者(Observer)模式C++实现
<DIV></DIV> <TABLE style="BORDER-COLLAPSE: collapse" border=1 cellSpacing=0 borderColor=#999999 cellPadding=0 width="95%" bgColor=#f1f1f1> <TBODY> <TR> <TD> <P style="LINE-HEIGHT: 150%; MARGIN: 5px"><CODE><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000cc">#</SPAN><SPAN style="COLOR: #ff0000">include</SPAN> <SPAN style="COLOR: #ff00ff">"stdafx.h"</SPAN><BR><SPAN style="COLOR: #0000cc">#</SPAN><SPAN style="COLOR: #ff0000">include</SPAN> <SPAN style="COLOR: #0000cc"><</SPAN><SPAN sty……
查看全文
发表于:2010-06-01 ┆
阅读(39)
┆
评论(0)
动态配置工厂类
<DIV>这里的动态配置工厂,是指添加一个产品类时,不必去修改工厂类的代码,即可使工厂具备创建产品的能力。</DIV> <DIV><BR>为了描述简便,代码采用教科书中方式而非实际的代码。<BR> <BR>我们有以下一组类:<BR> <BR>//vehicle.h<BR>class Vehicle<BR>{<BR>public:<BR> Vehicle(){}<BR> virtual ~Vehicle(){}<BR> virtual void Start() = 0;<BR>};<BR> <BR>//car.h<BR>class Car : public Vehicle<BR>{<BR>public:<BR> Car(){}<BR> &nbs……
查看全文
发表于:2010-05-31 ┆
阅读(31)
┆
评论(0)
Qt经典出错信息之undefined reference to `vtable for classn
<DIV> <P>这个出错信息太常见了,用过Qt两个月以上的朋友基本上都能自己解决了,因为太经典了,可以给新手参考。</P> <P>出错信息一般类似:undefined reference to `vtable for classname MyWidget`<BR>在执行make命令后出现。</P> <P>出错原因是在定义类的时候为了能使用signals和slot,在类定义的后面加了Q_OBJECT引起。 因为Q_OBJECT是一个宏,在不同的类中展开是不同的代码,例如在mywidgeth.h中生成的</P><PRE>public: template inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const { int i = qYouForgotT……
查看全文
发表于:2010-05-06 ┆
阅读(39)
┆
评论(0)
Oracle应用Linux开发C
<DIV>Linux操作系统的不断完善与发展,出现了大量基于 Linux平台的应用开发,原有的基于UNIX平台的商业软件也不断被移植到Linux上来。最典型的,Oracle公司宣布,他的现有的及未来所有的数据库产品和商业应用都将支持Linux平台。本文所述OCI for Linux的C语言库,正是Linux平台上Oracle的C语言接口。</DIV> <DIV><BR>我们知道,在一个复杂的Oracle数据库应用中,C程序代码由于其语言本身的灵活性、高效性,往往被加入到其商务逻辑的核心层模块中。Oracle数据库对C语言的接口就是OCI(Oracle Common Interface) C-Library,该库是一个功能十……
查看全文
发表于:2010-04-09 ┆
阅读(87)
┆
评论(0)
Linux下的Oracle编程技术
<DIV> <P><STRONG><SPAN>Abstract:</SPAN></STRONG><SPAN>This article discuss several methods of querying Oracle database by using C and Java language on Linux</SPAN><SPAN>,<SPAN>introduce the technology of Pro*C,JDBC and SQLJ and its’ applictions in Oracle database programming.</SPAN></SPAN></P> <P><STRONG><SPAN>Keywords:</SPAN></STRONG><SPAN> </SPAN><SPAN>Oracle</SPAN><SPAN>;<SPAN>Pro*C</SPAN>;<SPAN>JDBC</SPAN>;<SPAN>SQLJ</SPAN></SPAN></P> <H2><SPAN><SPAN>1 </SPAN></SPAN><SPAN>引言</SPAN>……
查看全文
发表于:2010-04-09 ┆
阅读(84)
┆
评论(0)
Android AIDL 分析 例子 源码
在Android中, 每个应用程序都可以有自己的进程. 在写UI应用的时候, 经常要用到Service. 在不同的进程中, 怎样传递对象呢? 显然, Java中不允许跨进程内存共享. 因此传递对象, 只能把对象拆分成操作系统能理解的简单形式, 以达到跨界对象访问的目的. 在J2EE中,采用RMI的方式, 可以通过序列化传递对象. 在Android中, 则采用AIDL的方式. 理论上AIDL可以传递Bundle,实际上做起来却比较麻烦. <br><br>AIDL(AndRoid接口描述语言)是一种借口描述语言; 编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目……
查看全文
发表于:2010-03-23 ┆
阅读(204)
┆
评论(0)
Android 使用 aidl 文件创建服务示例
android中的服务与其他软件的服务可能有些不同,它用来实现在后台执行长期的任务,并且与前台界面解耦.现在来实现一个HelloWorld级的服务以及使用这个服务,创建一个服务的步骤如下:<br><br> <font style="font-weight: bold;" size="3">1.编写aidl文件,</font>在这个文件中提供了服务所提供的方法的接口,文件的扩展名为aidl,在我们的示例中命名为IDataTimeService.aidl文件的内容为如下所示:<br><br> Java代码<br><br> package com.services.demo2;<br><br> // Declare the interface.<br><br> interface IDataTimeService {……
查看全文
发表于:2010-03-23 ┆
阅读(148)
┆
评论(0)
Android 的 HAL 技術
<h3>Android 的 HAL 技術, #1: 簡介與發展現況</h3> <p> <a href="http://www.jollen.org/">jollen</a> 發表於 October 8, 2009 2:05 AM </p> <div> <p>Android 的 HAL(硬體抽像層)是 Google 因應廠商「希望不公開源碼」的要求下,所推出的新觀念,其架構如下圖。雖然 HAL 現在的「抽象程度」……
查看全文
发表于:2010-03-15 ┆
阅读(186)
┆
评论(0)
Android HAL 研究开发 FOR LED
<font style="font-weight: bold;" size="3">Led.h hardware\modules\include\Mokoid</font><br> <table style="border-collapse: collapse;" bgcolor="#f1f1f1" border="1" bordercolor="#999999" cellpadding="0" cellspacing="0" width="95%"><tbody><tr><td><p style="margin: 5px; line-height: 150%;"><code><span style="color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 204);">#</span><span style="color: rgb(255, 0, 0);">include</span> <span style="color: rgb(0, 0, 204);"><</……
查看全文
发表于:2010-03-11 ┆
阅读(276)
┆
评论(0)
ANDROID 底层 NDK 开发
<font size="3">有关ANDROID--底--NDK开发的相关资料可以参考“【eoe特刊】第七期:NDK”,这一期刊,我个人认为这一期是写的很好。</font>
查看全文
发表于:2010-01-29 ┆
阅读(206)
┆
评论(1)
JAVA TCP 服务端 程序代码
<table style="border-collapse: collapse;" bgcolor="#f1f1f1" border="1" bordercolor="#999999" cellpadding="0" cellspacing="0" width="95%"><tbody><tr><td><p style="margin: 5px; line-height: 150%;"><code><span style="color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 255);">package</span> com<span style="color: rgb(0, 0, 204);">.</span>linux<span style="color: rgb(0, 0, 204);">.</span>vntcenter<span style="color: rgb(0, 0, 204);">;</span><br> <br> <span style="color: rgb(0, 0, 255)……
查看全文
发表于:2010-01-29 ┆
阅读(166)
┆
评论(0)
Jave C C++ 乱码 解决方案
<font size="2">在现在的软件工程当中,一个项目的完工并不可能只用到一种语言,往往会用到好几种语言相互配合才能完成整个工程。这就会遇到不同语言之间相互通信的问题,以及不同语言采用不同编码的转化问题,处理不好汉字将会产生乱码。<br><br>当今最流行的编程语言当属JAVA和C类语言,就以此为例加以说明。<br><br>JAVA一般采用UTF8的编码方式,而C类语言一般采用Unicode编码方式,则,UTF8编码转Unicode编码函数如下:</font><br><br><br> <table style="border-collapse: collapse;" width="95%" bgcolor="#f1f1f1……
查看全文
发表于:2009-12-30 ┆
阅读(169)
┆
评论(0)
Linux操作系统s3c2410 GPIO的宏
<font size="3"><span style="font-weight: bold;">一、GPIO寄存器定义 </span><br><br>1.#define GPCON(x) __REG2(0x56000000, (x) * 0x10) <br><br> 这句是定义2410的GPIO的控制寄存器,注意:__REG2的参数是寄存器的物理地址,这个物理地址经_REG2宏转换为虚拟地址,对照2410的手册可以得到一下对应关系: <br><br>GPCON(1) ------ PORT A 0x56000000 <br>GPCON(2) ------ PORT B 0x56000010 <br>GPCON(3) ------ PORT C 0x56000020 <br>…… <br>GPCON(8) ------ PORT H 0x56000070 <br><br>2.#……
查看全文
发表于:2009-11-24 ┆
阅读(472)
┆
评论(0)
linux系统下操作硬件寄存器
<DIV>经过一两天的摸索,基本上对在linux控制硬件有了个初步的认识:在linux下控制硬件和在无操作系统下控制硬件的不同主要在于硬件的地址不一样,在linux下要使用va(虚拟地址),而在无操作系统下可以直接使用硬件的pa(物理地址)。</DIV> <DIV><BR>在linux-2.6.8.1/include/asm-arm/arch-s3c2410/map.h中定义了大部分硬件的物理地址和他们的虚拟地址。</DIV> <DIV><BR>现以gpio F为例说明,gpio 的pa 基址(ba)为0x56000000,GPFCON pa为0x56000050 即:可见偏移量为0x50,而我们在看看GPFCON va ,vaba :0xf0e0 0000,va:0xf0e0 005……
查看全文
发表于:2009-11-23 ┆
阅读(350)
┆
评论(0)
Android /System 目录结构介绍
<DIV> <P><STRONG>\system\app</STRONG> </P> <P>这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件, 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。<BR><BR>\system\app\AlarmClock.apk 闹钟<BR>\system\app\AlarmClock.odex<BR>\system\app\Browser.apk 浏览器<BR>\system\app\Browser.odex<BR>\system\app\Bugreport.apk Bug报告<BR>\system\app\Bugreport.odex<BR>\system\app\Calculator.apk 计算器<BR>\system\app\Calculator.odex<BR>\system\app\……
查看全文
发表于:2009-11-17 ┆
阅读(600)
┆
评论(0)
Android 启动过程分析
<DIV>1. Boot系统初始化, 具体过程参见(system\core\init\Init.c)中的main函数,这时候,手机或者模拟器出现的画面是一个console,显示“ANDROID”msg。 </DIV> <DIV> </DIV> <DIV>2. 初始化成功后,就开始mounting系统,具体参见(system\core\mountd\Mountd.c) 中的main函数。 </DIV> <DIV> </DIV> <DIV>3.接下来运行ndroidRuntime,并开始启动java虚拟机dalvikvm。 </DIV> <DIV> </DIV> <DIV>4. Java虚拟机启动成功后,开始系统初始化。系统初始的第一步是用JNI方式实现的,对应java代码为(frameworks\……
查看全文
发表于:2009-11-17 ┆
阅读(316)
┆
评论(0)
Linux内核访问外设I/O资源的方式
<DIV> </DIV> <DIV>我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。<BR></DIV> <DIV>Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。<BR><BR></DIV> <DIV><STRONG>一、动态映射(ioremap)方式<BR></STRONG></DIV> <DIV>动态映射方式是大家使用了比较多的,也比较简单。即直接通过内核提供的ioremap函数动态创建一段外设I/O内存资源到内核虚拟地址的映射表,从而可以……
查看全文
发表于:2009-11-12 ┆
阅读(260)
┆
评论(0)
Git和Repo取得Android源代码
<DIV>Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库,它们可以支持离线工作,本地提交可以稍后提交到服务器上。分布式系统理论上也比集中式的单服务器系统更健壮,单服……
查看全文
发表于:2009-11-12 ┆
阅读(273)
┆
评论(0)
一位中国工人直言:中国与日本德国最可怕的差距
<BR><FONT size=3>虽然我整天和冰冷的机器打交道,操作复杂的零件三维设计软件熬夜画图,而每个月的工资只有1500元,穿着老土,跟不上流行,不知道现在谁最火爆。。。。。。<BR><BR><BR>首先我要说,中国的制造业不发达。我是学机械制造的,谈一些我的体会。当我和厂里的师傅们在为了使数控机床提高一级精度而不分白夜进行调试、翻译德文资料时,当我费尽千辛万苦又没有假期和加班费、满身污垢,满手是伤,操作失败了无数次但最终第一次加工制造出精度达到预计的0.0001毫米要求的样品时,我兴奋了一阵子;但紧接着又有了失落感,因为那台加……
查看全文
发表于:2009-11-07 ┆
阅读(776)
┆
评论(3)