自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JuanA1的专栏

金字塔最底层之IT民工的技术点滴

  • 博客(23)
  • 资源 (4)
  • 收藏
  • 关注

原创 简析Android对Linux内核的改动-(下)

2 、YAFFS2    不同于PC机(文件是存储在硬盘上的),手机使用FLASH作为存储介质。HTC的G1使用的是NAND FLASH——这种存储目前已经相当普及了,而且种类也颇多(如SLC、MLC等),存储密度也越来越高(已经出现几十GB大小的NANDFLASH),价格也

2011-07-31 16:24:48 4938 5

原创 简析Android对Linux内核的改动-(上)

现在Android已经很火了,我的一个哥们儿上个月找到一个Android应用开发的职位,月薪就有6K了,羡慕啊。这里分析下Android的内核结构,主要介绍Android和Linux之间的关系,以备以后可能的转型。大家都知道Android是基于Linux内核的操作系统,也曾经和L

2011-07-31 16:22:06 11835 17

原创 Boost学习系列4-事件处理(下)

合成器是一个重载了 operator()() 操作符的类。这个操作符会被自动调用,传入两个迭代器,指向某个特定信号的所有返回值。以上例子使用了标准 C++ 算法 std::min_element() 来确定并返回最小的值。    不幸的是,我们不可能把象 std::min_ele

2011-07-28 22:46:33 3410

原创 Boost学习系列4-事件处理(上)

一、概述    相信大家在听到术语“事件处理”时就会想到GUI:点击一下某个按钮,相关联的功能就会被执行。点击本身就是事件,而功能就是相对应的事件处理器。    当然这一模式的使用当然不仅限于GUI。一般情况下,任意对象都可以调用基于特定事件的专门函数。本章所介绍的Boost.S

2011-07-28 22:38:11 5413

原创 信号(Signal)与槽(Slot)-Qt中的典型机制

因为下一篇关于Boost的文章会涉及到事件处理的问题,里面用的是信号和槽的机制,先拿Qt里的这个机制预研一下。诶,Boost这是够厉害的,什么先进就包含什么!要知道我以前一直以为这是Qt的专利呢。当然,这也是大多数厉害的开源软件库的高人之处,像Qt这种GUI库也包含了很多数据库,

2011-07-25 22:09:50 18988 6

原创 Boost学习系列3-函数对象(下)

四、Boost.Lambda    匿名函数 - 又称为lambda函数 - 已经在多种编程语言中存在,但 C++ 除外。 不过在Boost.Lambda库的帮助下,现在在 C++ 应用中也可以使用它们了。   lambda 函数的目标是令源代码更为紧凑,从而也更容易理解。 以本

2011-07-25 21:10:51 3017

原创 Boost学习系列3-函数对象(上)

这次主要介绍的是函数对象,可能称为“高阶函数”更为适合。它实际上是指那些可以被传入到其它函数或是从其它函数返回的一类函数,在C++中高阶函数是被实现为函数对象的。本文将会介绍几个用于处理函数对象的Boost C++库。 其中,Boost.Bind可替换来自C++标准的著名的 st

2011-07-25 20:57:13 4631

原创 Linux内核同步方式剖析-(下)

自旋锁有两种可用的形式:完全锁(full lock)和读写锁。 首先看一下完全锁。    首先通过一个简单的声明创建一个新的自旋锁。这可以通过调用 spin_lock_init 进行初始化。清单 5 中显示的每个变量都会实现相同的结果。清单 5. 创建和初始化自旋锁

2011-07-24 20:09:35 3304

原创 Linux内核同步方式剖析-(上)

本文是从IBM Developerworks上转载的,的确是很不错的技术网站,有很多关于linux的文章。这篇讨论了 Linux 内核中可用的大量同步或锁定机制,这些机制为2.6.23版内核的许多可用方法提供了应用程序接口(API)。之前用的类似semTake/Give等函数都是

2011-07-24 20:02:16 1659

原创 万众期待,Linux 3.0内核发布!!(附下载地址)

上网无意间看到了令我相当兴奋的消息,3.0发布了!!在经历了短暂的延期后,3.0内核终于来了!Linux Kernel的上一个版本是2.6.39,也是2.6系列的第39次升级维护。从改进幅度上看,Linux Kernel 3.0其实完全可以叫做2.6.40,但这年头版本号为王,3

2011-07-24 17:22:55 4069 1

原创 Boost学习系列2-智能指针(下)

3.5、弱指针    前面的几种智能指针在不同场合可以独立使用,然而,弱指针只有在配合共享指针使用时才会有意义,见下面例子:#include #include #include #include DWORD WINAPI reset(LPVOID p)

2011-07-21 21:56:42 7436 1

原创 Boost学习系列2-智能指针(上)

一、概述最先讲的就是指针,这是C语言中,不少程序员害怕的东西,害怕的原因大多是因为不了解其初始化、调用、赋值和清除的方式,而智能指针则可以去除这个顾虑,在初始化时就已经预定了删除,排解了后顾之忧。1998年修订的第一版C++标准只提供了一种智能指针:std::auto_ptr,它

2011-07-21 21:27:37 4792 1

原创 Boost学习系列1-简介及基本用法

在做长字符串匹配、搜索的问题时,我想大家最先想到的应该就是使用正则表达式,简单、高效。而Boost的Regex库则是不得不提的,很早之前我就接触过了Boost的这个模块,也对Boost了解了一点点,只是觉得它很NB,没做深究。昨天在网上无意中看到了Highscore的Boost

2011-07-21 21:05:17 4092 2

原创 网络协议栈中你必须知道的专业词汇集合

最近移植在弄网络协议栈的移植,找了不少关于协议栈的资料,这个是一些专业词汇的总结,特此记录,以备查阅。1.几种数据交换方式、特点 线路交换:概念来源电话系统,硬件开关接通输入输出信号。延迟小,独享物理线路。需要建立线路,数据传送,释放线路三个步骤完成。 报文交换:不需建立连接线路

2011-07-21 20:11:39 2765

原创 算法的时间性能分析

算法的时间复杂度在PC机上开发可能关系不太大,但是到了嵌入式系统下,复杂度就变得很重要了,一个复杂度很高的程序会使得本来有限的资源变得更加拮据,本文系转载自longmans的网易博客,借此学习下复杂度的计算。 本文主要从四个方面分析算法的复杂度:一、算法耗费的时间和语句频度:

2011-07-21 20:10:13 4566

原创 CLNP-无连接网络协议的基本概念

最近被mmslite的移植弄得头大,由于之前接触的较少,把多线程的一块用POSIX的pthread搞定就看了好多的资料才完成,又发现BSD中没有获取MAC地址的接口(类似ioctl(..,SIOGIFHWADDR,..)的),弄着弄着,发现这个CLNP挺不错,像IP,这里先转个c

2011-07-19 21:03:24 4659

原创 基于BSD4.4的UDP通讯初探

前段时间在移植mmslite到vxWorks上,主要涉及到的修改为网络连接部分、多线程支持部分以及时间模块。这里主要阐述网络部分,其他的有时间会一一推出。由于之前是在windows上实现的,网络连接部分自然就是使用的socket和WSA了。然而和Unix系统一样,vxWorks使

2011-07-19 19:53:11 3184 4

原创 VC下遍历文件夹的两种方法

想找个能遍历文件夹的办法,找了下,大概有两种,列举如下第一种方法就是网上常见的一种方法:find(char * lpPath){  char szFind[MAX_PATH];  WIN32_FIND_DATA FindFileData;  strcpy(szFi

2011-07-18 22:25:09 18600 9

原创 一个让高级C++程序员都会出错的题目

之前我好像在一个论坛上看到了,过太久了,不太记得了,今天翻出来,觉得挺经典的,就贴出来了。如下:这是一个比较典型的问题,很多人都会遇到,这也是一个在C++输入时经常遇到的一个问题。C++代码如下:#include 3.int main() 4.{ 5.

2011-07-16 22:35:27 2547 6

原创 回车('\r')和换行('\n'),坑爹的Windows

前段时间移植一个windows下的程序到vxWorks下,由于原程序要读取配置文件,所以我将它们一起放在了nor flash里,好不容易搞定了编译错误,一运行程序就出错,进去调试,发现读到的信息全是错的!!不会吧,细细一看,fopen读上来的字符串是这样的"First Line\

2011-07-16 08:38:53 2471 3

原创 某重工企业笔试题目合集(附答案)

由于涉及到机密问题,就不指明是什么公司了,总之很大的了,看看吧,挺基础也挺实用的  1、 .h头文件中的 #ifndef/#define/#endif 的作用? 答:防止该头文件被重复引用。 2、 #define DOUBLE(x) x+xint i = 5*DOUBLE(5);

2011-07-10 21:09:37 2710 2

原创 vxWorks多任务编程初探-下

当一个任务要进入资源,首先要得到一个信号量(take that semaphore),只要有任务在使用这个信号量,其它的要进入资源的任务要停止执行(blocked from execution),当这个任务完成了对资源的使用,它会释放信号量,允许另一个任务来使用资源。   sem

2011-07-08 10:39:28 2968

原创 vxWorks多任务编程初探-上

进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行

2011-07-08 10:35:51 8449

Linux PowerPC详解:核心篇

《Linux PowerPC详解:核心篇》分8章,第1章讲述Linux PowerPC的组成;第2~4章讲述了有关PowerPC处理器的基础知识,包括指令集、寄存器、内存体系结构等;第5~8章讲述Linux系统在PowerPC处理器中的运行,包括进程调度、中断处理、内存管理和初始化。它对PowerPC处理器的介绍非常详细,绝对是想要入门及深究Linux+PowerPC的你不可或缺的好资料!!

2011-11-03

PowerPC E300处理器核详细介绍

PowerPc E300内核是由原始MPC603e PowerPC微处理器派生设计出来的,该文主要介绍e300内核的详细信息,提供其主要功能单元的结构图,并介绍其各单元的交互。它是一个精简指令集RISC处理器,实现了PowerPC系统结构的32位部分,定义了32位有效地址,8、16和32位整型数据类以及32、64位浮点数据类。 E300核是一个超标量处理器,它每个时钟可发出和撤回3条指令,指令可不按程序顺序执行以提高性能。它集成了5个执行单元:整数单元IU、浮点数单元FPU、转移处理单元(BPU Branch Processing Unit)、取/存单元LSU和系统寄存器单元SRU。并行执行5条指令的能力和具有快速执行时间的简单指令的使用使得基于e300的系统有很高的效率和吞吐率。整型指令大多数在一个时钟周期内执行完成,FPU是流水处理,每个时钟周期可发出并完成一条单精度乘法-加法指令。E300核为所有单精度和双精度浮点运算中的绝大多数值的表现和所有的舍入模式提供硬件支持。

2011-08-14

设计模式迷你使用手册

关于对二十几个设计模式的不错的使用手册,以备需要时查阅

2011-03-13

Dijkstra算法解决最短线路问题

2007高教社杯全国大学生数学建模竞赛B题的解决方案,采用Dijkstra算法解决

2011-03-13

空空如也

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

TA关注的人

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